Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。
但Axis并不完全是一个SOAP引擎,它还包括:
是一个独立的SOAP服务器。
是一个嵌入Servlet引擎(例如Tomcat)的服务器。
支持WSDL。
提供转化WSDL为Java类的工具。
提供例子程序。
提供TCP/IP数据包监视工具。
通过不断地讨论和代码编写,Axis目前取得了如下成果:
速度提高。 Axis通过基于事件的SAX对XML文档进行处理,从而在速度和效率上比Apache SOAP有所提高。
灵活性提高。
稳定性提高。
提供面向组件的部署。
提供一个简洁的传输抽象框架。其核心引擎完全于传输方式独立。从而使基于何种协议传输的选择更加灵活。
支持WSDL。包括到处WSDL和客户代理生成等。
Axis的运行需要如下组件包
axis.jar
jaxrpc.jar
saaj.jar
commons-logging.jar
commons-discovery.jar
wsdl4j.jar
Axis提供两种将Java类发布成Web Services的途径,即即时快速自动发布和通过配置文件进行发布。
JWS----即时部署
简单说就是将自己写的Java类源文件按一定的规则Copy到特定的目录下便可自行被Axis部署。具体步骤如下:
将上面写的SayHello.java复制到axis目录下。
改名为SayHello.jws。
注意:在你写的类中不能有具体包的信息,因为这正是Axis即时部署不支持的。
通过WSDD来自定义部署
<deployment xmlns="
http://xml.apache.org/axis/wsdd/" xmlns:java="
http://xml.apache.org/axis/wsdd/providers/java">
<service name="SayHello2" provider="java:RPC">
<parameter name="className" value="luopc.ws.SayHello"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
服务存活范围
Axis提供Session、Request和Application三种可选范围配置
<parameter name="scope" value="value"/>
Axis有四种类型的服务
RPC、Document、Wrapped和Message