1. 程式人生 > 實用技巧 >`springboot` 呼叫`asmx`字尾 `webservice`介面

`springboot` 呼叫`asmx`字尾 `webservice`介面

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>
    

    用作個人記錄,希望對你也有幫助