天气预报webservice地址
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
web service本质上是使用http发送xml请求。
我们需要安装一个soapui进行webservice解析。
安装步骤省略。
安装完毕之后,打开左上角file ——New SOAP Project,此时会弹出一个对话框
1:Project Name 输入框随便输入。
2:Initial WSDL 输入一个web service地址 ,我们在此输入天气预报的webservice地址。
输入完之后点击ok按钮,此时会在左侧出现相关的服务方法。
我们随便选中一个方法。
点击发送按钮,进行发送。
1:xml中是将要发送的body。
2:Raw 中查看header信息。
这里使用hutool工具进行发送。
代码如下:
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\"")
//指定发送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);
}