国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
NO Code直接根據(jù)Wsdl生成SOAP報(bào)文,發(fā)送http請(qǐng)求調(diào)用web service...
 作為客戶端調(diào)用web service通用的做法,通常利用axis或cxf生成客戶端代碼,如果調(diào)用的服少還能應(yīng)付,如果調(diào)用服務(wù)比較多,生成的代碼很多,很難管理,自己以前就是這樣干。
想到過(guò)wsdl解析生成soap報(bào)文,再通過(guò)httpclient發(fā)送請(qǐng)求,由于各種服務(wù)類(lèi)型和服務(wù)樣式,兼容性很難處理,沒(méi)有去實(shí)施。 
    最近接觸soapui和camel時(shí)間比較多,從這兩個(gè)工具中找到我想要的代碼和思路。能夠解決各種服務(wù)類(lèi)型和服務(wù)樣式兼容性問(wèn)題......  直接通過(guò)一個(gè)實(shí)例來(lái)演示怎么調(diào)用,效果更比較清楚些。

實(shí)例描述:創(chuàng)建一個(gè)用戶,返回值和參數(shù)都市javabean User.(其它參數(shù)類(lèi)型如此)

解析的SOAP報(bào)文如下:
Java代碼
  1. <>< span=""><> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:demo="http://demo.cxf.starit.com/">   
  2.       
  3.       
  4.          
  5.             
  6.             
  7.                
  8.             
       
  9.                
  10.                
  11.             
  12.          
  13.       
  14.   

需要的參數(shù)為:
Java代碼
  1. Map<>< span=""> Object> params = new HashMap<>< span=""> Object>();   
  2. params.put("createUser.arg0.address", "Anhui Hefei");   
  3. params.put("createUser.arg0.name", "melin");   
  4. params.put("dumpSOAP", "");  

map的key值為body下面的xpath路徑。這種方式,主要是為了解決復(fù)雜參數(shù)的傳值。
dumpSOAP是為了打印出soap報(bào)文替換參數(shù)前后的內(nèi)容。
替換參數(shù)后的soap報(bào)文
Java代碼
  1. <>< span=""><> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:demo="http://demo.cxf.starit.com/">   
  2.       
  3.       
  4.          
  5.             
  6.             
  7.                
  8.             
    Anhui
     Hefei
       
  9.                
  10.             melin   
  11.             
  12.          
  13.       
  14.   


調(diào)用返回一個(gè)map
Java代碼
  1. Map<>< span=""> String> result = client.sendRequest("createUser", params, wsdlUrl);  

返回內(nèi)容
Java代碼
  1. {createUserResponse.return.address=Anhui Hefei, createUserResponse.return.name=melin}  


//----------------------------完整代碼-----------------------------
Java代碼
  1.       public static void main(String[] args) throws Exception {   
  2. String wsdlUrl = "http://localhost:9000/helloWorld?wsdl";   
  3. SoapClient client = new SoapClient();   
  4. Map<>< span=""> Object> params = new HashMap<>< span=""> Object>();   
  5. params.put("createUser.arg0.address", "Anhui Hefei");   
  6. params.put("createUser.arg0.name", "melin");   
  7. params.put("dumpSOAP", "");   
  8. Map<>< span=""> String> result = client.sendRequest("createUser", params, wsdlUrl);   
  9. System.out.println(result);   
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
cxf工作原理
10 killed in E China expressway collision
WebService學(xué)習(xí)整理(一)
P-693: Clinical observation of treatment for ...
Man detained after phony bomb threat forces emergency landing
H3C NETCONF簡(jiǎn)介
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服