Axis2开发一点理解

来源:互联网 发布:c c 高性能网络库 编辑:程序博客网 时间:2024/05/22 13:01

AXIS2跟axis1很多地方是不一样的,如果有网友按照网上的资料进行axis2开发,在核对步骤无误确实找不到问题的时候,请考虑去官网下载过axis2.war,找axis2 1.4.war或者axis2 1.41.war都行

 

开发环境:Myeclipse 7.5 + tomcat 6.0 + axis2 1.41.war

将axis2 1.41.war改成axis2.war放到tomcat下webapps运行tomcat就会生成一个axis2

 

1、创建一个web project,点击菜单file->new->other->选择myeclipse下的web service,然后创建一个wsdl文件,并将这个文件保存在工程中

2、然后根据这个wsdl文件创建服务器类,步骤是:右键工程->axis2 wizards->axis code generator,并且选择的是generate server side code假设创建的是hello.wsdl那么根据这个wsdl创建的服务器类有

hello.java,Extendsion mapper.java,helloMessageReceiveInOut.java,helloRequest.java,helloResponse.java,helloSkeleton.java

 

写处理请求并返回响应消息的代码在helloSkeleton类中

 

具体这些类的作用请大家查资料,为了便于自己理解,个人这这些类的解释是其中helloSkeleton是业务类,服务器提交请求后进行处理的代码写到这里,helloMessageReceiveInout.java这个类是负责提供请求以及响应的接口,获得请求时候将参数封装成hellorequest, 然后调用业务代码类helloSkeleton进行处理,处理后封装成helloRespose通过InOut接口返回soap消息,

 

3、步骤是:右键工程->axis2 wizards->axis service archiver生成一个hello.arr服务文件,放到tomcat的webapps下的axis2下的services文件夹下。

 

4、服务端就写好了,运行tomcat现在就可以访问http://localhost:9000/axis2/services/hello?wsdl

 

  

注:如果需要调用这个服务器端的服务类,就要创建客户端类,步骤是:右键工程->axis2 wizards->axis code generator

选择generate client side code,并勾选test case创建测试类,就可以发现工程里多了hellostubs.java以及一个test类

 

 helloStub是对外的客户接口类,是提供给测试程序调用的

先初始化一个stub对象,test类将请求request提交给stub,然后stub根据service.xml调用服务器的类,结束后返回的消息也通过stub对象返回

 

service.xml相当于axis1的service-config.wsdd

build.xml相当于axis1的deploy.wsdd

 

原创粉丝点击