使用axis2创建webservice

这个方式创建的webservice可以和web项目放到同一个工程下。

创建webservice服务,所需要的jar包如下:

  axiom-api-1.2.8.jar
  axiom-impl-1.2.8.jar
  axis-0.1.jar
  axis2-adb-1.5.jar
  axis2-kernel-1.5.jar
  axis2-transport-http-1.5.jar
  axis2-transport-local-1.5.jar
  commons-codec-1.3.jar
  commons-httpclient-3.1-rc1.jar
  commons-httpclient-4.3.2.jar
  commons-logging-1.1.1.jar
  httpcore-4.0.jar
  mail-1.4.jar
  neethi-2.0.5.jar
  woden-api-1.0M8.jar
  woden-impl-dom-1.0M8.jar
  wsdl4j-1.6.2.jar
  XmlSchema-1.4.3.jar

一 创建java web项目
二 将上面的jar包放到lib文件下
三 创建一个class 如下

 

package com.geng.webservice;

public class HelloService {
public String getName(String xml){
    if(xml!=null){
       System.out.println(xml);
    }
    return "hello webservice";
}
public String getAge(String xml){
    return "test";
}
}

 

 

 

四 配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>testWebservice</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>

 


五 还需要一个services.xml 配置文件

这个配置文件放在WebContent=>WEB-INF=>services=>aa=>META-INF=>services.xml
我创建的项目结构如下图所示:

技术分享


services.xml文件的配置内容如下

<?xml version="1.0" encoding="UTF-8"?>
<service name="hello" targetNamespace="http://chnsys.com.cn/rcs_ws/">
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
            class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
            class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    </messageReceivers>

    <description>
        练习WebService服务
    </description>
    <parameter name="ServiceClass">com.geng.webservice.HelloService</parameter>
</service> 

六 运行项目


将该地址http://localhost:8080/testWebservice/services/hello?wsdl放到浏览器中进行访问,

服务返回的内容如下图所示:

技术分享

对这个访问地址进行一下说明http://localhost:8080/testWebservice/ 这一块是ip地址、端口、项目名
services这是web.xml文件配置的。hello是services.xml中配置的service的name。?wsdl这样查看wsdl文件的内容。
通过浏览器访问只能得到webservice服务提供那些方法,不能调用提供的方法。
要想调用webservice提供的方法进行测试的话,可以使用soapUI工具(没听过这工具,搜索一下你就知道)
关于soapui的使用可以参考这篇博客http://blog.sina.com.cn/s/blog_4f925fc30102edku.html

以上只是简单的入门,在实际开发中往往是比较复杂的。
关于如何配置services.xml可以参考这篇博客http://beyond-gzz.blog.163.com/blog/static/744735620119935948592/

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。