>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23649 个阅读者 刷新本主题
 * 贴子主题:  AXIS2 入门,发布web服务 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2018-10-18 00:13:23     消息  查看  搜索  好友  邮件  复制  引用

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

使用Axis2搭建简易webservice服务端
1、简要说明
2、开发步骤
1、新建Java-web工程
2、复制文件
3、修改web.xml文件
4、创建服务文件
5、新增配置文件
6、启动并访问
7、其他
8、工程信息及下载
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文件
修改后的文件如下:

<?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>
4、创建服务文件
新建 Axis2Sever\src\ws\TestWs.java,内容如下:

package ws;
public class TestWs {
    public String sayHi(String name) {
        return "Hello,"+name;
    }
}
5、新增配置文件
新建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>
6、启动并访问
启动tomcat后,访问http://localhost:8080/Axis2Sever/services/TestWs?wsdl,访问正常,可正常获取WSDL内容,SoupUI测试正常。

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


程序猿的技术大观园:www.javathinker.net
网站系统异常


系统异常信息
Request URL: http://www.javathinker.net/WEB-INF/lybbs/jsp/topic.jsp?postID=548&pages=19

java.lang.NullPointerException

如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员