通過http://localhost:7002/card/services/HelloWorld?wsdl訪問到xml如下,說明接口寫對(duì)了。
創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10年,專業(yè)且經(jīng)驗(yàn)豐富。10年網(wǎng)站優(yōu)化營(yíng)銷經(jīng)驗(yàn),我們已為成百上千家中小企業(yè)提供了網(wǎng)站制作、網(wǎng)站設(shè)計(jì)解決方案,按需求定制開發(fā),設(shè)計(jì)滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!
1.靜態(tài)調(diào)用
// 創(chuàng)建WebService客戶端代理工廠 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); // 判斷是否拋出異常 factory.getOutInterceptors().add(new LoggingInInterceptor()); // 注冊(cè)webservice接口 factory.setServiceClass(DeductionService.class); // 配置webservice地址 factory.setAddress("http://localhost:7002/card/services/HelloWorld?wsdl"); // 獲得接口對(duì)象 CxfService service = (CxfService) factory.create(); // 調(diào)用接口方法 String result = service.sayHello("aaaaaaaaaa"); System.out.println("調(diào)用結(jié)果:" + result); // 關(guān)閉接口連接 System.exit(0);
2.動(dòng)態(tài)調(diào)用:
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); org.apache.cxf.endpoint.Client client = dcf .createClient("http://localhost:7002/card/services/HelloWorld?wsdl"); // url為調(diào)用webService的wsdl地址 QName name = new QName("http://dao.xcf.digitalchina.com/", "sayHello"); // namespace是命名空間,methodName是方法名 String xmlStr = "aaaaaaaa"; // paramvalue為參數(shù)值 Object[] objects; try { objects = client.invoke(name, xmlStr); System.out.println(objects[0].toString()); } catch (Exception e) { e.printStackTrace(); }
區(qū)別:
靜態(tài)調(diào)用需要依賴service類,因?yàn)榭蛻舳苏{(diào)用cxf webservice接口的過程中需要服務(wù)器端提供service,很不方便,如果同一個(gè)項(xiàng)目中則沒有區(qū)別。
動(dòng)態(tài)調(diào)用完全不依賴service類,服務(wù)器端只要提供接口名和路徑就可以方便的調(diào)用。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接