CXF调用WebService通用类

一个CXF动态调用WebService的例子,主要使用了CXF动态创建客户端的功能,需要导入的包:cxf-2.3.2.jar、neethi-2.0.4.jar、wsdl4j-1.6.2.jar、XmlSchema-1.4.7.jar。

调用列子:

  1. Stringstr=WebServiceClientHelper.callService("http://www.xxxx.cn/services/Test?wsdl","queryProfile","12345");
  2. out.println(str);

通用类代码:

  1. packagecn.org.cdw.util;
  2. importorg.apache.cxf.endpoint.Client;
  3. importorg.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
  4. /**
  5. *@authorchendw
  6. *@Description:WebService客户端通用类
  7. */
  8. publicclassWebServiceClientHelper{
  9. /**
  10. *@Title:callService
  11. *@Description:调用远程的webservice并返回数据
  12. *@paramwsUrl
  13. *ws地址
  14. *@parammethod
  15. *调用的ws方法名
  16. *@paramarg
  17. *参数
  18. *@return
  19. *@return:String
  20. *@throws
  21. */
  22. publicstaticStringcallService(StringwsUrl,Stringmethod,Object...arg){
  23. JaxWsDynamicClientFactorydcf=JaxWsDynamicClientFactory.newInstance();
  24. Clientclient=dcf.createClient(wsUrl);
  25. Object[]res=null;
  26. try{
  27. res=client.invoke(method,arg);
  28. }catch(Exceptione){
  29. e.printStackTrace();
  30. }
  31. return(String)res[0];
  32. }
  33. }

你可能感兴趣的:(webservice)