@ruoli
2016-09-01T08:26:17.000000Z
字数 2368
阅读 4436
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/javaee
http://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