這個方式創建的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/