网站:
JavaEye 作者:
danlley
发表时间: 2007-07-17 13:43 此文章来自于
http://www.JavaEye.com
声明:本文系JavaEye网站原创文章,未经JavaEye网站或者作者本人书面许可,任何其他网站严禁擅自发表本文,否则必将追究法律责任!
原文链接:
http://danlley.javaeye.com/blog/101983
一个完整的基于Axis2的Web Service服务由以下几部分组成:
1. 服务器端程序
2. services.xml 此文件用于注册服务器端程序中的公有对外方法类型,以及描述信息,典型地,一个services.xml的文档结构如下:
xml 代码
- <service name="HelloWorldService" scope="application">
- <description>Hello World Service</description>
- <operation name="getHelloWorldMs">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
- </operation>
- <operation name="setHelloWorldMs">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver" />
- </operation>
- <operation name="getDownloadConfirm">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
- </operation>
- <parameter name="ServiceClass">samples.helloworld.service.axiom.HelloWorldService</parameter>
- </service>
其中的ServiceClass是必须参数,用来指明operation所在的ServiceClass
<parameter name="ServiceClass">samples.helloworld.service.axiom.HelloWorldService</parameter>
其中的messageReceiver类型可以分为2类,如果ServiceClass 中的方法有返回值则messageReceiver 采用IN-OUT模式,如果没有返回值则采用IN模式,相应地其客户端的调用方式也会有所不同。在IN-OUT模式下,采用sendReceive方法将数据发送到服务器段,服务器端在收到信息后将处理后的结果交给sendReceive ;在IN模式下,使用 fireAndForget 方法,调用此方法后,服务器端不会将处理结果返回给客户端
xml 代码
- <operation name="getHelloWorldMs">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
- </operation>
- <operation name="setHelloWorldMs">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver" />
- </operation>
- <operation name="getDownloadConfirm">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
- </operation>
3. 一个WSDL文件,该文件是传输过程中数据的Data Structure描述。可以使用Axis2提供的工具java2wsdl自动生成。
通常在定义好一个ServiceClass的框架后,尽管每个业务可能还没有完全实现,但是就已经可以用来直接生成Data Structure描述文件。
|
《 Web Service之Axis2实现概要 》 的评论也很精彩,欢迎您也添加评论。查看详细 >>
JavaEye推荐
上海:优秀公司德比:高薪诚聘 资深Java工程师
广州:优易公司:诚聘Java工程师,开发经理
上海:尤恩斯国际集团:诚聘开发工程师
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA
文章来源:
http://danlley.javaeye.com/blog/101983