您好,登錄后才能下訂單哦!
本篇內容介紹了“SpringBoot如何使用axis調用webservice接口”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
通過度娘等方式,個人理解為變相的soap協議加xml工單處理,
qq 在線驗證接口:
www.webxml.com.cn/webservices…
其他可測試接口:
email電子郵箱地址接口: www.webxml.com.cn/WebServices…
全國天氣情況接口:
www.webxml.com.cn/WebServices…
在接口后面加:/wsdl www.webxml.com.cn/webservices…
訪問查看然后找到下圖中定義的內容:注意使用關聯key找到對應的必要使用的參數。
<!-- 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); } }
對于以上代碼,我這邊吐槽一下,網上其實很多這個的例子但是實際調用的時候會出問題,注意點:
設置參數
獲取結果
xxxx需要填寫真實的QQ號碼
“SpringBoot如何使用axis調用webservice接口”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。