网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ScriptEngineBuildVersion 函数.
.软件重用已经死亡?软件重用永存.
.利用Myeclipse快速开发struts应用.
.java中Properties类的使用.
.用web_xml控制Web应用的行为(上).
.使用异步Servlet扩展AJAX应用程序.
.为RMI实现类Jini的发现机制(1).
.Java核心代码例程之:ThreadDemo.
.java中的基于套结字(socket)的通.
.Enterprise JavaBeans 组件慨述之.
.Javascript实例教程(10) 创建“后.
.Javascript实例教程(20) OLE Aut.
.在Eclipse RCP中实现反转控制(Io.
.Java Web Start开发指南(二).
.Java how to program(Third Edi.
.在MyEclipse快速搭建Hibernate应.
.Java中设计模式(2)Singleton模式.
.一个最简单的servlet.
.为什么用 “==” 与 “equal”得.
.实战J2EE?开发购物网站(二).

JAVA高级开发:使用Axis开发Web Service

发表日期:2008-4-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并不难开发吧。

上一篇:使用JAVA中的动态代理实现数据库连接池 人气:657
下一篇:关于常见的Java/J2EE中文问题解决详细说明 人气:636
浏览全部JAVA的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐