来源: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);
- }
- }
- }