用Axis2开发Webservice

  • Post author:
  • Post category:其他


1,相关概念

[list]

[*]SOAP:simple object access protocal 简单对象访问协议是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。是一种应用协议,和各种传输协议(HTTP,SMTP,MIME)结合使用

[*]Wsdl: Web Services Description Language用来描述Web服务和说明如何与Web服务通信的XML语言(领域专属语言)

[*]WSDL是服务接口,从外部看它就是服务提供者,没有WSDL就相当于没有服务提供者, SOAP是服务者和消费者建立的双向通信通道,服务方提供给消费方WSDL,这是两者达成的共识。SOAP是在解析并遵守WSDL文档格式基础之上开发的

[/list]

2,Axis2相关访问路径

[list]

[*][url]http://localhost:8080/axis2/[/url]

[*][url]http://localhost:8080/axis2/services/listServices[/url]

[*][url]http://localhost:8081/axis2/services/Version?wsdl[/url](wsdl)

[*][url]http://localhost:8081/axis2/services/Version/getVersion[/url](通过url访问,后面可以跟参数?param1=value1&param2=value2)

[/list]

3,从官网下载Axis2文件

[list]

[*]axis2-1.5.2-war(丢到tomcat下webapps里面可以直接使用,并可查看axis2的项目结构)

[*]axis2-1.5.2-src(源码)

[*]axis2-1.5.2-bin(里面有各种例子可以参考,如version,quickstart,pojo,spring集成等)

[*]axis2-1.5.1-docs(javadocs和xdocs官网帮助文档)

[/list]

4,相关文档

[list]

[*][url]http://ws.apache.org/axis2/1_5_1/installationguide.html[/url](安装说明)

[*][url]http://ws.apache.org/axis2/1_5_1/toc.html[/url](使用手册)

[*][url]http://ws.apache.org/axis2/1_1/spring.html[/url](Spring集成)

[*][url]http://ws.apache.org/axis2/1_1/pojoguide.html[/url](POJOl例子)

[/list]

5,把Axis2集成到现有项目(使用下载war包下的Version webservice例子)

[list]

[*]修改项目web.xml,增加AxisServlet

[*]把下载的war包里WEB-INF下conf,lib,modules,services目录copy到现有项目(conf下有Axis2的配置文件,配置文件路径可以在web.xml中可以修改,但是我修改后,发现程序提示找不到Axis2.xml,不知道为什么!!)

[*]其他的\axis2 \WEB-INF\ classes(Axis2管理Servlet),\axis2\axis2-web(Axis2网站,可以查看管理自己发布的webservice),\axis2\org(开启soapmonitor需要)可以不要

[/list]

6,开发自己的WebService并和Spring集成

[list]

[*]往\WEB-INF\services\services.list添加自己的web服务:MyService.aar(aar其实就是jar包,后缀名不同而以,war,mar等也是)

[*]增加\WEB-INF\services\ MyService \META-INF\services.xml(Axis2必须的Service描述文件)

[*]\WEB-INF\services下不需要其他任何东西,编写配置文件中的bean和方法,完成

[*]使用url的方式或者编写RPCClient测试发布的web应用

[/list]

7,Spring集成Service.xml


<service name="MyService" scope="application">
<description>
my Web Service
</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceObjectSupplier" locked="false">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
<!-- 要发布成Webservice的bean名 -->
<parameter name="SpringBeanName" locked="false">MyServiceBeanName</parameter>
<operation name="methodName"></operation>
</service>



版权声明:本文为desert3原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。