來源:http://blog.csdn.net/is_zhoufeng/article/details/8485548
wsdl地址 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
直接使用wsimport 通過該地址生存java 文件時,會報錯。因爲該wsdl裏面包含 ref = "s:schema" 這樣的引用。而jaxb是不支持的。所以手動將該wsdl下載下來做下修改,然後再生成java文件。
修改方法爲:
將所有的<s:element ref="s:schema"/> 改成 <s:any minOccurs="2" maxOccurs="2"/>
然後再通過wsimport生成java文件。 如果還是報錯,就將wsdl文件裏面的<wsdl:documentation 節點全部刪除。應該就沒問題了
生成好java文件之後 。就可以調用了。
生成好java文件之後 。就可以調用了。
- package com.zf.weatherservice;
- import com.zf.warther_ws.ArrayOfString;
- import com.zf.warther_ws.WeatherWebService;
- import com.zf.warther_ws.WeatherWebServiceSoap;
- public class Test03 {
- public static void main(String[] args) {
- WeatherWebService wws = new WeatherWebService();
- WeatherWebServiceSoap wwsp = wws.getWeatherWebServiceSoap();
- ArrayOfString aos = wwsp.getWeatherbyCityName("北京");
- for (String s : aos.getString()) {
- System.out.println(s);
- }
- }
- }