免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

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

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

解析的SOAP報文如下:
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報文替換參數(shù)前后的內(nèi)容。
替換參數(shù)后的soap報文
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)用返回一個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);   
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
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簡介
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服