使用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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章