@ruoli
2016-09-01T00:26:17.000000Z
字数 2368
阅读 4734
Java基础
Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。
使用Axis2搭建webserice服务端,此方法支持 Axis2 1.4.1 至 最新的 Axis2 1.7.3。
此处以1.4.1版本为例,首先需要下载 Axis2提供的War包:axis2-1.4.1-war.zip。
下载地址参考:
http://download.csdn.net/detail/u012485012/7179291
下载完成后,放置在Axis2文件中备用。
此处命名为:Axis2Sever
axis2-1.4.1-war\WEB-INF\lib 复制到 \Axis2Sever\WebRoot\WEB-INF\lib 下,并加入工程引用。
axis2-1.4.1-war\WEB-INF\conf 复制到 \Axis2Sever\WebRoot\WEB-INF\conf。
axis2-1.4.1-war\WEB-INF\modules 复制到 \Axis2Sever\WebRoot\WEB-INF\modules。
修改后的文件如下:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!--Axis2 config start--><servlet><servlet-name>AxisServlet</servlet-name><servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping><!--Axis2 end--><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>
新建 Axis2Sever\src\ws\TestWs.java,内容如下:
package ws;public class TestWs {public String sayHi(String name) {return "Hello,"+name;}}
新建Axis2Sever\WebRoot\WEB-INF\services目录,并在此目录中新增配置文件:AxisService\META-INF\services.xml,内容如下:
<service name="TestWs"><description>HelloWorld Service Example</description><parameter name="ServiceClass">ws.TestWs</parameter><operation name="sayHi"><messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /></operation><!--<operation name="getName"><messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /></operation>--></service>
启动tomcat后,访问http://localhost:8080/Axis2Sever/services/TestWs?wsdl,访问正常,可正常获取WSDL内容,SoupUI测试正常。
上述仅限搭建环境,实际开发中可能需要编写更加复杂的services.xml及服务类,如果是根据已有的wsdl开发服务类,可直接根据wsdl生成服务器端代码,可通过Axis2提供的命令行工具或者myeclipse-axis2插件进行,导入此工程即可访问。

访问密码:eb2r