調用外部系統提供的webservice接口

如何調用外部系統提供的webservice接口

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;


String json = "{\"name\":\"張三\",\"age\":\"10\"}";
String targetNamespace = "http://impl.infservice.server.webservice.sinosoft.cn";
String method="hello";
//創建Service
Service service = new Service();
//創建Call
Call call = (Call) service.createCall();
//連接地址
call.setTargetEndpointAddress(new java.net.URL(url));
//創建項目的名稱空間及方法名
call.setOperationName(new QName(targetNameSpace, method));
call.addParameter("jsonStr",XMLType.XSD_STRING, ParameterMode.IN);
//設置超時時間30s
call.setTimeout(3000);
//設置被調用方法的返回值類型
call.setReturnType(XMLType.XSD_STRING);
call.setUseSOAPAction(true);
call.setEncodingStyle("UTF-8");
//設置參數
Object[] paramArr = new Object[]{json};
//調用服務,並返回至
String result = (String) call.invoke(paramArr);
log.info("打印返回報文"+result);

//將返回結果轉json
JSONObject resultJson = JSONObject.fromObject(result);
//將返回結果轉map
Map<String,Object> map = JSON.parseObject(result,Map.class);
//或
Map map = JSON.parseObject(result,Map.class);
發佈了65 篇原創文章 · 獲贊 62 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章