最近在RestCloud平台中调用webservice时遇到以下问题,总结记录下:RestCloud 企业级API混合集成中台www.restcloud.cn
Apache CXF调用webservice接口可以有两种方式实现:
一是动态调用webservice即不用生成客户端代码但是要调用复杂的webservice服务比较难实现,特别是调用.net的ws接口比较难
二是生成client java客户端代码然后通过java类来进行调用,如果在生成 wsdl的时候出错也是很难办的了,只有采用模拟请求soap的xml来调用了
动态调用代码如下:
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.endpoint.Client;
import java.lang.reflect.Method;
public class JaxWsDynamicClient {
public static void main(String str[]) throws Exception {
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://localhost:8081/mywebservice?wsdl");
Object[] response = client.invoke("方法名",方法参数);
System.out.println("调用结果 is " + response[0]);
}
}