转自 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 北京