springboot 調用asmx后綴 webservice接口
引入依賴
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>3.2.5</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
使用
JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();
// wsdlUrl webservice地址,加上?wsdl后綴
Client client = clientFactory.createClient(wsdlUrl);
// name_space 命名空間
QName qName = new QName(name_space, "GetInfo");
try {
//參數數組
Object[] param = new Object[]{...參數};
Object[] res = client.invoke(qName, param);
// 處理結果res[0]
JSONObject jsonObject = JSONObject.parseObject(String.valueOf(res[0]));
List<A> aList = JSONObject.parseArray(jsonObject.get("data").toString(),A.class);
// 業務
} catch (Exception e) {
e.printStackTrace();
}
-
名詞解釋
// name_space就是xmlns的值 <soap:Body> <GetInfo xmlns="http://aaa.org/"> <ticket>string</ticket> </GetInfo> </soap:Body>用作個人記錄,希望對你也有幫助
