java : jaxws 查询天气预报

来源:互联网 发布:学生化妆品推荐 知乎 编辑:程序博客网 时间:2024/06/05 08:14

转自 http://blog.csdn.net/lener0611/article/details/19046571

天气预报公网 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

curl -O http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

rename WeatherWebService.asmx_wsdl  WeatherWebService.wsdl

直接使用wsimport , 会报s:schema出错(jaxb不支持)

将 <s:element ref="s:schema" /> 删除

将<s:any />改成 <s:any minOccurs="2" maxOccurs="2"/>

wsimport -keep -p com.client -s src -d bin -verbose WeatherWebService.wsdl

WeatherClient.java

package com.client;    import java.net.URL;    import javax.xml.namespace.QName;  import javax.xml.ws.Service;    import com.client.*;    public class WeatherClient {//      public static void main(String[] args) throws Exception {     if (args.length != 1){    System.out.println(" usage: java -cp ws.jar;bin com.client.WeatherClient city ");    return;    }    if (args[0] == null || "".equals(args[0])) return;    WeatherWebService ws = new WeatherWebService();           WeatherWebServiceSoap wsp = ws.getWeatherWebServiceSoap();                  ArrayOfString aos = wsp.getWeatherbyCityName(args[0]);         for (String s : aos.getString()) { System.out.println("---------------------------");            System.out.println(s);          }     }  }
编译 javac -cp ws.jar -d bin \jaxws-ri\test\src\com\client\WeatherClient.java

执行 java -cp ws.jar;bin com.client.WeatherClient 北京