亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot如何使用axis調用webservice接口

發布時間:2022-06-17 09:49:43 來源:億速云 閱讀:2017 作者:zzz 欄目:開發技術

本篇內容介紹了“SpringBoot如何使用axis調用webservice接口”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

WebService

定義

SpringBoot如何使用axis調用webservice接口

個人理解

通過度娘等方式,個人理解為變相的soap協議加xml工單處理,

實踐

webservice 常識

一個webservice 接口發布地址往往類似:

  • qq 在線驗證接口:

www.webxml.com.cn/webservices…

  • 其他可測試接口:

email電子郵箱地址接口: www.webxml.com.cn/WebServices…

全國天氣情況接口:

www.webxml.com.cn/WebServices…

qq在線接口驗證接口為例

在接口后面加:/wsdl www.webxml.com.cn/webservices…

訪問查看然后找到下圖中定義的內容:注意使用關聯key找到對應的必要使用的參數。

SpringBoot如何使用axis調用webservice接口

maven 使用 axis

應用依賴(不可缺失必須)

        <!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/wsdl4j/wsdl4j -->
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
<!--        解決cell 轉換問題-->
        <!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api -->
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc-api</artifactId>
            <version>1.1</version>
        </dependency>
<!--       解析調用結果以及數據轉換包-->
        <!-- https://mvnrepository.com/artifact/commons-discovery/commons-discovery -->
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>

代碼(粘貼可用)

@Test
public void testWebService() {
    try {
        //wsdl地址
        String endpoint = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
        //命名空間
        String namespace = "http://WebXml.com.cn/";
        //服務名
        String serviceName = "qqOnlineWebService";
        //方法名
        String methodName = "qqCheckOnline";
        //soapAction
        String soapAction = "http://WebXml.com.cn/qqCheckOnline";

        Service service = new Service();
        Call call = (Call) service.createCall();
        //設置響應超時
        call.setTimeout(3000);
        //設置地址
        call.setTargetEndpointAddress(new java.net.URL(endpoint));
        //設置方法名
        call.setOperationName(new QName(namespace, methodName));

        //設置參數
        call.addParameter(new QName(namespace, "qqCode")
                , org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        //設置返回類型
        call.setReturnType(XMLType.XSD_SCHEMA);
        //啟用soap
        call.setUseSOAPAction(true);
        //設置soapAction
        call.setSOAPActionURI(soapAction);
        //設置服務名
        SOAPService soapService = new SOAPService();
        soapService.setName(serviceName);
        call.setSOAPService(soapService);
        Schema result = (Schema) call.invoke(new Object[]{"xxxxx"});
        for (int i = 0; i < result.get_any().length; i++) {
            System.out.println(result.get_any()[i]);
        }
    } catch (Exception e) {
        log.error("ddd", e);
    }
}

對于以上代碼,我這邊吐槽一下,網上其實很多這個的例子但是實際調用的時候會出問題,注意點:

  • 設置參數

SpringBoot如何使用axis調用webservice接口

  • 獲取結果

SpringBoot如何使用axis調用webservice接口

xxxx需要填寫真實的QQ號碼

“SpringBoot如何使用axis調用webservice接口”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣庄市| 望谟县| 中阳县| 桑植县| 宝丰县| 葫芦岛市| 柯坪县| 咸丰县| 泽州县| 凭祥市| 乌鲁木齐县| 镇安县| 大竹县| 东辽县| 平度市| 遵义市| 东乌| 乃东县| 伊春市| 彰武县| 曲靖市| 临洮县| 潞西市| 息烽县| 贵溪市| 河南省| 航空| 乐至县| 隆回县| 阿荣旗| 洱源县| 祁东县| 印江| 咸宁市| 焉耆| 平昌县| 株洲市| 武平县| 仲巴县| 昆山市| 宜君县|