欢迎来到天天文库
浏览记录
ID:9879432
大小:1004.00 KB
页数:39页
时间:2018-05-13
《用axis2开发webservice》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用AXIS2开发WebService目录1.AXIS2简介12.下载AXIS242.1Axis2发行包42.1.1标准二进制发行包42.1.2WAR发行包52.1.3源码发行包62.1.4文档发行包62.2下载AXIS262.3下载AXIS2的eclipse插件73.安装部署AXIS2103.1部署AXIS2到Tomcat103.2安装AXIS2的eclipse插件124.编写WEBSERVICE程序134.1创建服务程序134.2打包服务184.3部署服务244.4创建C#的访问测试程序274.5在eclipse中调
2、试Axis2服务程序315.遇到的其他问题355.1使用org.apache.commons.logging后不能正常打包aar包355.2在使用Axis2CodeGenerator时报java.lang.reflect.InvocationTargetException异常。355.3使用Axis2CodegenWizard1.2版的插件可由WSDL生成代码,但不能在C#客户程序中访问37本文介绍如何在eclipse3.2下用Axis2开发webservice,并将Axis2与自己的webservice部署在Tomc
3、at6.0.18下,再通过在C#下写测试程序,来访问Tomcat下的webservice。1.AXIS2简介webservice是可以解决异构系统异构语言之间互通信问题,还可以做不同系统之间的数据交换。传统的异构系统异构语言之间互通方案有:Corba、DCOM、webservice。Corba太复杂,DCOM使用于微软平台,而webservice可跨平台实现非常简单。webservice通常使用SOAP(简单对象传输协议)作为实现机制,也就是XML-RPC的升级,也就是用XML来描述一个远程调用(RPC)的过程,用XM
4、L作为异构系统之间通信和数据交换语言。因为XML是跨平台的标准数据交换格式,所以在webservice中可以用XML来描述编程语言中的函数调用过程。webservice的实现有很多,如微软的DNA解决方案,IBM的SOA解决方案。在Java语言的实现工具有:apache-AXIS;C++的工具有:gsoap;C的工具有:AXIS2C;python的工具有:soappy等。ApacheAxis2项目是一个基于Java语言的Webservices系统服务和客户端的实现。为了从ApacheAxis1.0中获取教训,Apach
5、eAxis2提供了一个完整的对象模型和模块化体系结构,这样可以很容易的添加功能以及支持一个新的与Webservices相关的说明和建议。Axis2可以让你很容易的执行以下任务:·发送SOAP消息·接收和处理SOAP消息·从一个普通的Java类建立Webservice·用WSDL来建立实现服务和客户端的实现类·很容易的从一个服务来获取WSDL·发送和接收带有附件的SOAP消息·建立或者使用基于REST的Webservice·建立或者使用从WS-Security,WS-ReliableMessaging,WS-Addres
6、sing,WS-Coordination和WS-AtomicTransaction获取优势的服务·当新建议出现时,使用Axis2的模块化结构来很容易的加入对它的支持内部流程要理解Axis2并且知道它做了些什么,你必须对Webservices消息的生命周期有一个很好的认识。通常,它看起来如下图所示:发送应用程序建立原始SOAP消息,这是一个包含消息头和消息体的XML消息。如果系统需要使用例如WS-Addressing或者WS-Security之类的WS*建议,这个消息就会在离开发送者之前经过额外的处理。一旦消息准备好了,
7、他就会借助一个特别的传输器发送出去,例如HTTP,JMS等等。消息沿着它的路径发送到接收者,接收者是借助传输监听器接收消息的。(换句话说,如果应用程序没有运行HTTP监听器,那么它就将不会接收HTTP消息)再者,如果消息是需要使用WS-Security或者其它建议的系统的一部分,那么为了检查凭证或者解密敏感信息,它需要一些额外的处理。最后,一个派发者决定这个消息发送到的指定应用程序(或者其它组件,例如Java方法),并且把它发送给这个组件。这个组件是一个完整的应用程序的一部分,这个应用程序是设计用来与这些来回发送的数据
8、一起工作的。Axis2如何处理SOAP消息Axis2可以处理一次事务中的发送者和接收者双方的过程。从Axis2的角度看,结构如下:在一端,你有一个处理(发送或接收)消息的应用程序。在中间,你有Axis2,或者,你可以有Axis2。Webservices的价值在于收发双方(任何一方都可以是服务段或者客户端)甚至不需要在同一个平台上,
此文档下载收益归作者所有