[关闭]
@ruoli 2016-09-01T00:26:17.000000Z 字数 2368 阅读 4352

使用Axis2搭建简易webservice服务端

Java基础


Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。


1、简要说明

使用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文件中备用。

2、开发步骤

1、新建Java-web工程

此处命名为:Axis2Sever

2、复制文件

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。

3、修改web.xml文件

修改后的文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  7. <!--Axis2 config start-->
  8. <servlet>
  9. <servlet-name>AxisServlet</servlet-name>
  10. <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
  11. <load-on-startup>1</load-on-startup>
  12. </servlet>
  13. <servlet-mapping>
  14. <servlet-name>AxisServlet</servlet-name>
  15. <url-pattern>/services/*</url-pattern>
  16. </servlet-mapping>
  17. <!--Axis2 end-->
  18. <welcome-file-list>
  19. <welcome-file>index.jsp</welcome-file>
  20. </welcome-file-list>
  21. </web-app>

4、创建服务文件

新建 Axis2Sever\src\ws\TestWs.java,内容如下:

  1. package ws;
  2. public class TestWs {
  3. public String sayHi(String name) {
  4. return "Hello,"+name;
  5. }
  6. }

5、新增配置文件

新建Axis2Sever\WebRoot\WEB-INF\services目录,并在此目录中新增配置文件:AxisService\META-INF\services.xml,内容如下:

  1. <service name="TestWs">
  2. <description>
  3. HelloWorld Service Example
  4. </description>
  5. <parameter name="ServiceClass">
  6. ws.TestWs
  7. </parameter>
  8. <operation name="sayHi">
  9. <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
  10. </operation>
  11. <!--
  12. <operation name="getName">
  13. <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
  14. </operation>
  15. -->
  16. </service>

6、启动并访问

启动tomcat后,访问http://localhost:8080/Axis2Sever/services/TestWs?wsdl,访问正常,可正常获取WSDL内容,SoupUI测试正常。

7、其他

上述仅限搭建环境,实际开发中可能需要编写更加复杂的services.xml及服务类,如果是根据已有的wsdl开发服务类,可直接根据wsdl生成服务器端代码,可通过Axis2提供的命令行工具或者myeclipse-axis2插件进行,导入此工程即可访问。

8、工程信息及下载

工程目录

点此下载工程

访问密码:eb2r

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注