spring boot 调用web service

天气预报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按钮,此时会在左侧出现相关的服务方法。

我们随便选中一个方法。


image.png

点击发送按钮,进行发送。

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);
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容