java调用webservice

调用webservice步骤:

  1. 根据拿到的wsdl地址生成客户端代码

  2. 将生成的.java文件拷如项目中使用

 介绍两种生成客户端代码的方式:

  1. 使用jdk提供的工具wsimport.exe(位于java_home/bin下)

    ①. 在需要生成代码的地方打开cmd

    ②. 执行 wsimport -s . wsdl地址(其中 . 代表生成的位置为当前目录)

      例: wsimport -s . http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

  2. 使用CXF (apache-cxf-2.6.2.zip)

    ①. 将cxf加入环境变量 

      验证:

                  操作   win+R    ---> cmd  --->  回车   ---》 wsdl2java -v 

                  结果 显示  wsdl2java - Apache CXF 2.6.2 

                  证明配置成功

    ②. 使用wsdl2java.exe

      wsdl2java -d src - client http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

  3. 解决生成过程中遇到的错误:[ERROR] undefined element declaration 's:schema'

    ①. 将wsdl网页保存到本地(注意: 只能用浏览器自带的“网页另存为...”来保存)--> 将后缀名改为.wsdl

    ②. 用编辑器打开该文件,将出现 

        <s:element ref="s:schema" />
                   <s:any />

      的地方替换成

        <s:any minOccurs="2" maxOccurs="2"/>

    ③. 用修改后的wsdl文件生成客户端代码

  4. 根据webservcice提供的.asmx地址提供的信息调用webservice服务。

原文地址:https://www.cnblogs.com/nickhan/p/4656515.html