xfire调用webservice接口的实现方式
package com.test; import java.net.URL; import org.codehaus.xfire.client.Client; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; public class myserviceImpl { public static void main(String[] args) { //第一种 -----------通过服务端提供的端口来创建客户端 /** * 通过Web服务端提供的接口来创建客户端 * @see 客户端必须提供一个与服务端完全一致的接口,包名也要一致 * @see 并且此时需要在项目中引入XFire 1.2 Core Libraries和XFire 1.2 HTTP Client Libraries */ String serviceUrl = "http://localhost:8080/Demo/services/MyService"; Service serviceModel = new ObjectServiceFactory().create(IMyService.class, null, "http://localhost:8080/Demo/services/MyService?wsdl", null); XFireProxyFactory serviceFactory = new XFireProxyFactory(); try{ IMyService service = (IMyService)serviceFactory.create(serviceModel,serviceUrl); String hello = service.example("11111111111111"); System.out.println(hello); }catch(Exception e){ e.printStackTrace(); } //第二种 -------通过WSDL地址来创建动态客户端 /** * 通过WSDL来创建动态客户端 * @see 此时需要在项目中引入XFire 1.2 Core Libraries和XFire 1.2 HTTP Client Libraries */ Client client=null; try { client = new Client(new URL("http://localhost:8080/Demo/services/MyService?wsdl")); Object[] results = client.invoke("example", new Object[]{"22222222222222"}); System.out.println(results[0]); } catch (Exception e) { e.printStackTrace(); } } }