这个方式创建的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/