通过http://localhost: 7002/卡/服务/helloworld # 63; wsdl访问到xml如下,说明接口写对了。
<强> 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接口的过程中需要服务器端提供服务,很不方便,如果同一个项目中则没有区别。
动态调用完全不依赖服务类,服务器端只要提供接口名和路径就可以方便的调用。
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接