基于 xfire 建 web service
方法一:
测试环境:windows xp,jdk1.5.0_4,tomcat5.0.28,myeclipse5.1,xfire1.2,commons-httpclient3.0
(1)service
利用 myeclipse 5.1
1.新建 web service project 填入项目名,其它都默认
2.右建点项目名,新建一个web service 例子
3.把serializer.jar,xalan.jar 放入lib 下(或放入%tomcat%/common/endorsed 下),没有它们,在jdk1.5 下会有错误,包文件可以在下面的例子里找
4.发布到 tomcat 下 ,
5.网页输入 http://192.168.0.108:8080/WSservice/services/TestService?wsdl 测试
(2) client
1.新建 web service project 填入项目名,其它都默认
2.导入 xfire-httpclient-libraries
3.导入 commons-httpclient-3.0.jar (可在上传的例子里找到)
4.将 service project 里面的要调用的相关接口打成 jar 包并放到本例子的lib 下
5.写一个测试类,如下:
package 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 com.test.Itest;public class HelloClient {public static void main(String[] args) {Service srvcModel = new ObjectServiceFactory().create(Itest.class);XFire xfire = XFireFactory.newInstance().getXFire();XFireProxyFactory factory = new XFireProxyFactory(xfire);String serviceUrl = "http://192.168.0.108:8080/WSservice/services/TestService";Itest hs = null;try {hs = (Itest) factory.create(srvcModel, serviceUrl);} catch (MalformedURLException e) {e.printStackTrace();}System.out.println(hs.example("Jivam"));}}<servlet><servlet-name>XFireServlet</servlet-name><servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>XFireServlet</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://xfire.codehaus.org/config/1.0"><service><name>TestService</name><serviceClass>com.test.ITestService</serviceClass><implementationClass>com.test.TestServiceImpl</implementationClass><style>wrapped</style><use>literal</use><scope>application</scope></service></beans>