axis开发webservice:Axis开发Web Service程序



  说道Web Service开发 8个月前我加班调试公司和中国电信商务领航系统接口时候就是Web ServiceWeb 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.4Tomcat 5.0eclipse 3.2

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

  3、将Axis相关包文件放在WEB-INF\lib目录下

  4、Axis可选包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷贝到WEB-INF目录下生成客户端时候需要使用

  Axis支持 3种web service部署和开发分别为:

  1、Dynamic Invocation Interface (DII)

  2、Dynamic Proxy方式

  3、Stubs方式

  前两种方式我就不介绍了同事告诉我他们自己都不使用前两种方式他们建议我们使用Stubs方式因此我就主要就介绍下第 3种方式注意我自己 Java源代码是放在D:\workspace\test\目录下Axis相关包文件放在D:\workspace\test\WEB-INF目录下

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

  1、编写服务端serverSayHello.java编译server.SayHello.java

package server;
public SayHello
{
public String getName(String name)
{
"hello "+name;
}
}

  2、编写wsdd文件

  deploy.wsdd文件内容如下:

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="SayHello" provider="java:RPC">
<parameter name="Name" value="server.SayHello.getName"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>

  3、发布服务:

  编辑个deploy.batAxis_Lib为axis.jar路径内容如下:

Axis_Lib=D:\workspace\test\WEB-INF\lib
Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
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文件其内容如下:

Axis_Lib=D:\workspace\test\WEB-INF\lib
Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
Output_Path=D:\workspace\test\src
Package=server.SayHello
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% SayHello.wsdl

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

  生成stub client文件列表为:SayHello.javaSayHelloService.javaSayHelloServiceLocator.javaSayHelloSoapBindingStub.java .

  5、编写客户端编译并执行

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

import java.net.URL;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public TestWSClient extends TestCase {

public TestWSClient(String ) {
super();
}

public void SayHelloClient throws Exception {

SayHelloService service = SayHelloServiceLocator;
SayHello_PortType client = service.getSayHello ;
String retValue = client.getName("clientname");
.out.prln(retValue);

}

public Test suite {
TestSuite suite = TestSuite;
suite.addTest( TestWSClient("SayHelloClient"));
suite;
}
}

  至此整个服务器端和客户端Web Service框架代码就完成了剩下就是在里面加入你业务代码了如何样Web Service并不难开发吧
Tags:  webserviceaxis axis2webservice axiswebservice axis开发webservice

延伸阅读

最新评论

发表评论