1、创建thirdsync web工程
1.1、file-new在出现的菜单中选择“web project”,在打开的对话框中的“project name”输入框中输入工程名称“thirdsync”,点击“finish”完成。
2、导入工程所需jar包
2.1、service所需jar
xfire-all-1.2.6.jar
xfire-jsr181-api-1.0-m1.jar
spring.jar
xbean-spring-2.8.jar
jdom.jar
activation.jar
2.2、client所需jar
commons-httpclient-3.0.jar
commons-codec-1.3.jar
stax-api-1.0.1.jar
stax-utils-20040917.jar
wstx-asl-3.2.0.jar
2.3、junit4所需jar
junit.jar
3、编写业务代码
源代码如下所示:
webservice接口
package com.webservice;public interface ithirdpartyservice { public int test(int a ,int b);}
webservice接口实现类
package com.webservice;public class thirdpartyservice implements ithirdpartyservice { /** * xfire测试用例 */ public int test(int a, int b) { return a + b; }}
junit测试用例
package com.test;import java.net.malformedurlexception;import org.codehaus.xfire.xfire;import org.codehaus.xfire.xfirefactory;import org.codehaus.xfire.client.xfireproxyfactory;import org.codehaus.xfire.service.service;import org.codehaus.xfire.service.binding.objectservicefactory;import org.junit.ignore;import org.junit.test;import com.webservice.ithirdpartyservice;public class testthirdpartyservice { // @ignore @test // xfire测试用例 public void test() { ithirdpartyservice client = null; try { service servicemodel = new objectservicefactory() .create(ithirdpartyservice.class); xfire xfire = xfirefactory.newinstance().getxfire(); xfireproxyfactory factory = new xfireproxyfactory(xfire); string serviceurl = "http://192.168.0.156/thirdsync/service/thirdpartyservice"; client = (ithirdpartyservice) factory.create(servicemodel, serviceurl); system.out.println("返回值是" + client.test(12, 12)); } catch (malformedurlexception e) { e.printstacktrace(); } }}
4、编写配置文件
4.1、services.xml
在classes目录(即:src目录)下建立meta-inf\xfire目录,在该目录下建立services.xml文件。
services.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?><beans> <service xmlns="http://xfire.codehaus.org/config/1.0"> <name>thirdpartyservice</name> <namespace>http://thirdsync/webservice/testservice</namespace> <serviceclass>com.webservice.ithirdpartyservice</serviceclass> <implementationclass>com.webservice.thirdpartyservice</implementationclass> </service> </beans>
4.2、web.xml
web.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>xfireservlet</servlet-name> <servlet-class> org.codehaus.xfire.transport.http.xfireconfigurableservlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>xfireservlet</servlet-name> <url-pattern>/servlet/xfireservlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>xfireservlet</servlet-name> <url-pattern>/service/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
5、发布工程
5.1、发布工程
这个很简单,我就不必说了吧。
注意:我机器的tomcat的端口为80,ip:192.168.0.156,那么访问地址就是http://192.168.0.156/thirdsync/service/thirdpartyservice?wsdl,如果可以正常显示发布文件,则证明webservice发布成功。
小弟初次发帖,不足之处敬请包涵,请朋友多提意见,我的邮箱:[email protected],如有需要请联系我。