天氣預(yù)報webservice地址
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
web service本質(zhì)上是使用http發(fā)送xml請求响鹃。
我們需要安裝一個soapui進行webservice解析。
安裝步驟省略遏餐。
安裝完畢之后,打開左上角file ——New SOAP Project,此時會彈出一個對話框
1:Project Name 輸入框隨便輸入旨涝。
2:Initial WSDL 輸入一個web service地址 ,我們在此輸入天氣預(yù)報的webservice地址侣背。
輸入完之后點擊ok按鈕白华,此時會在左側(cè)出現(xiàn)相關(guān)的服務(wù)方法。
我們隨便選中一個方法贩耐。
image.png
點擊發(fā)送按鈕弧腥,進行發(fā)送。
1:xml中是將要發(fā)送的body潮太。
2:Raw 中查看header信息管搪。
這里使用hutool工具進行發(fā)送。
代碼如下:
public static void main(String[] args) {
String rst = HttpUtil.createPost("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx")
//需要從soapui的RAW中獲取請求方法
.header("SOAPAction", "\"http://WebXml.com.cn/getSupportCity\"")
//指定發(fā)送xml格式
.header("Content-Type", "text/xml;charset=UTF-8")
//soapui的XML中的信息
.body("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://WebXml.com.cn/\">\n" +
" <soapenv:Header/>\n" +
" <soapenv:Body>\n" +
" <web:getSupportCity>\n" +
" <!--Optional:-->\n" +
" <web:byProvinceName>北京</web:byProvinceName>\n" +
" </web:getSupportCity>\n" +
" </soapenv:Body>\n" +
"</soapenv:Envelope>")
.execute().body();
System.out.println(rst);
}