如何調用別人提供的webservice介面

來源:互聯網
上載者:User

標籤:apach   client   trace   int end   exception   end   很多   分享圖片   image   

當我們拿到一個介面的時候,先別急著去調用它,我們得先測試這個介面是否正確,是否能調用成功,以及返回的資料是否是我們需要的類型等等。這時候我們需要一個工具,比如SoapUI。(最好用綠色免安裝版的。)然後去測試介面的可行性。

 

可行之後再帶入咱們的代碼裡面。這裡需要用到CXF外掛程式,百度隨處可下。下面是我調用webservice的代碼,參數分別為介面地址,調用介面的方法名以及方法的參數。非常的簡單。

 

public static Object[] invokeRemoteMethod(String url, String operation, Object[] parameters){
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
if (!url.endsWith("wsdl")) {
url += "?wsdl";
}
org.apache.cxf.endpoint.Client client = dcf.createClient(url);
//處理webService介面和實作類別namespace不同的情況,CXF動態用戶端在處理此問題時,會報No operation was found with the name的異常
Endpoint endpoint = client.getEndpoint();
QName opName = new QName(endpoint.getService().getName().getNamespaceURI(),operation);
BindingInfo bindingInfo= endpoint.getEndpointInfo().getBinding();
if(bindingInfo.getOperation(opName) == null){
for(BindingOperationInfo operationInfo : bindingInfo.getOperations()){
if(operation.equals(operationInfo.getName().getLocalPart())){
opName = operationInfo.getName();
break;
}
}
}
Object[] res = null;
try {
res = client.invoke(opName, parameters);
} catch (Exception e) {
e.printStackTrace();
}
return res;
}

 

ps:

對於一個懶人來說,很多東西不一定要懂,只需要會用則好。好比窮人手裡的100塊和富人手裡的100塊完全就是兩個概念,懶人的100分精力就相當於窮人手裡的100塊,當然不能亂花。有人會說,你上網玩遊戲逛街的時候精力怕是有1w!!我只能回答,精力需要對事對人。或許我們這種人的成就很低,甚至沒有成就,一生庸庸碌碌~~~ 可能我的價值觀比較低吧,覺得沒所謂,日子能過就好,就好像牛排和豬肉,它們帶給我的味覺衝擊其實是差不多的,但是豬肉更便宜,我當然會選擇豬肉!!

不愛展望未來,但喜珍惜當下~

 

如何調用別人提供的webservice介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.