网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java高级开发:使用axis开发web service     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:46次  录入:管理员--2008-04-29  
 

【赛迪网技术社区整理】

说道web service的程序开发,八个月前我加班调试公司和中国电信的商务领航系统的接口的时候,用的就是web service,web service有很多优点,使用web service可以在不同编程语言间实现数据交换,而我那时对web service也不熟,就由同事帮我生成了一大堆web service的框架代码,我则只单独开发业务代码。

这次的另外一个项目也要用web service了,不过人手也少了,没有人帮做web service了,只好自己动手。

好在开发前,有个同事先给我们不熟悉web service的程序员进行了一些培训,我才知道原来以前的web service都是可以自动生成代码的,而且也不难,试了一个下午客户端和服务器端的web service代码就都调试通过了,真不错。

为了更多喜爱开发的程序员也能迅速了解web service的开发,我这里整理了一些通过axis开发web service的一些要点,希望能让不熟悉web service的开发人员能够迅速掌握web service。

一、axis环境的安装

1、安装环境 j2se sdk 1.4,tomcat 5.0,eclipse 3.2。

2、到 http://xml.apache.org 网站下载axis安装包。

3、将axis相关包文件放在web-inf\lib目录下。

4、axis可选的包:activation.jar; mail.jar; xmlsec-1.4.beta1.jar拷贝到web-inf目录下,生成客户端时候需要使用。

axis支持三种web service的部署和开发,分别为:

1、dynamic invocation interface (dii)

2、dynamic proxy方式

3、stubs方式

前两种方式我就不介绍了,同事告诉我他们自己都不使用前两种方式,他们建议我们使用stubs方式,因此我就主要就介绍一下第三种方式。注意,我自己的java源代码是放在d:\workspace\test\目录下,axis相关包文件放在d:\workspace\test\web-inf目录下。

二、编写wsdd发布web服务,编写stub client访问web服务

1、编写服务端程序server,sayhello.java,编译server.sayhello.java

package server;

public class sayhello

{

public string getname(string name)

{

return "hello "+name;

}

}

2、编写wsdd文件

deploy.wsdd文件内容如下:

3、发布服务:

编辑一个deploy.bat,axis_lib为axis.jar路径。内容如下:

set axis_lib=d:\workspace\test\web-inf\lib

set java_cmd=java -djava.ext.dirs=%axis_lib%

set axis_servlet=http://localhost:8080/test/servlet/axisservlet

%java_cmd% org.apache.axis.client.adminclient -l%axis_servlet% deploy.wsdd

执行这个批处理文件,这时候,如果提示成功的话,访问http://localhost:8080/test/services 就会显示服务列表。

4、生成客户端client stub文件

在浏览器上访问服务器端的服务,可以下载到wsdl文件,通过axis的相关工具,可以自动从wsdl文件中生成web service的客户端代码。

编写一个wsdl2java.bat文件,其内容如下:

set axis_lib=d:\workspace\test\web-inf\lib

set java_cmd=java -djava.ext.dirs=%axis_lib%

set output_path=d:\workspace\test\src

set package=server.sayhello

%java_cmd% org.apache.axis.wsdl.wsdl2java -o%output_path% -p%package% sayhello.wsdl

执行这个批处理文件就可以生成client stub.

生成的stub client文件列表为:sayhello.java,sayhelloservice.java,sayhelloservicelocator.java,sayhellosoapbindingstub.java .

5、编写客户端程序,编译并执行

下面是一段junit测试客户端代码。

import java.net.url;

import junit.framework.test;

import junit.framework.testcase;

import junit.framework.testsuite;

public class testwsclient extends testcase {

public testwsclient(string string) {

super(string);

}

public void sayhelloclient() throws exception {

sayhelloservice service = new sayhelloservicelocator();

sayhello_porttype client = service.getsayhello() ;

string retvalue = client.getname("clientname");

system.out.println(retvalue);

}

public static test suite() {

testsuite suite = new testsuite();

suite.addtest(new testwsclient("sayhelloclient"));

return suite;

}

}

至此,整个服务器端和客户端的web service框架代码就完成了,剩下的就是在里面加入你的业务代码了,怎么样,web service并不难开发吧。

 
 
上一篇: 关于j2me程序员新手开发入门的几大要点    下一篇: 关于常见的java/j2ee中文问题解决详细说明
  相关文档
使用struts,ibaits和jstl开发简便通用的文件上传系统(5) 11-17
java基础--tomcat的配置技巧精华详解 11-16
学习心得:java基本功之reference详解 11-17
swing读书笔记 11-17
深入struts 1.1 11-17
学会一种简单的和ftp交互的方法 11-17
java初学者实践教程8—jdk5的拆箱与装箱 11-17
servlet教程 11-17
怎样学习java个人经验 11-17
hasownproperty 方法 11-16
j2me学习笔记(5)—midlets中的图形编程 11-17
简述在java web组件之间的三种关联关系 11-16
java中实现文件拷实例 11-17
让spring帮助你在mvc层解决jpa的缓迟加载问题 11-17
用.net和协议快速开发下载软件 11-17
如何定义类的结构 11-17
ejb轻松进阶(3) 11-17
tomcat连接池首次配置成功状态 11-17
ejbca 3.0 开源ca系统软件初探 11-17
敏捷开发的必要技巧:慎用继承 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息