Java调用CXF WebService接口的两种方式实例

  

通过http://localhost: 7002/卡/服务/helloworld # 63; wsdl访问到xml如下,说明接口写对了。

  

癑ava调用CXF

  

<强> 1。静态调用

     //创建WebService客户端代理工厂   JaxWsProxyFactoryBean工厂=new JaxWsProxyFactoryBean ();//判断是否抛出异常   factory.getOutInterceptors ()。添加(新LoggingInInterceptor ());//注册webservice接口   factory.setServiceClass (DeductionService.class);//配置webservice地址   factory.setAddress (" http://localhost: 7002/卡/服务/helloworld # 63; wsdl”);//获得接口对象   CxfService服务=(CxfService) factory.create ();//调用接口方法   字符串的结果=service.sayHello (“aaaaaaaaaa”);   system . out。println(“调用结果:“+结果);//关闭接口连接    system . exit (0);      

<强> 2。动态调用:

        JaxWsDynamicClientFactory dcf=JaxWsDynamicClientFactory.newInstance ();   org.apache.cxf.endpoint。客户端=贴现   .createClient (" http://localhost: 7002/卡/服务/helloworld # 63; wsdl”);//url为调用网络服务的wsdl地址   QName的名字=new QName (“http://dao.xcf.digitalchina.com/薄ⅰ皊ayHello”);//命名空间是命名空间,methodName是方法名   字符串xmlStr=癮aaaaaaa”;//paramvalue为参数的值   对象[]对象;   尝试{   对象=客户。调用(名称、xmlStr);   System.out.println(对象[0].toString ());   }捕捉(异常e) {   e.printStackTrace ();   }      

<强>区别:

  

静态调用需要依赖服务类,因为客户端调用cxf webservice接口的过程中需要服务器端提供服务,很不方便,如果同一个项目中则没有区别。

  

动态调用完全不依赖服务类,服务器端只要提供接口名和路径就可以方便的调用。

  

<强>总结

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

Java调用CXF WebService接口的两种方式实例