采用的免费webservice接口: http: //ws .webxml .com .cn /WebServices/WeatherWS .asmx ?wsdl 客户端调用代码如下: package com .web .hh .constroller ; import java .util .Iterator ; import org .apache .axiom .om .OMAbstractFact
采用的免费webservice接口:
http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
客户端调用代码如下:
package com.web.hh.constroller;
import java.util.Iterator;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class ClientWeather {
/* * 第二种方式,手动调用 */
public static void main(String[] args) throws AxisFault {
ServiceClient serviceClient = new ServiceClient();
Options option = new Options();
option.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
option.setTransportInProtocol(Constants.TRANSPORT_HTTP);
option.setAction("http://WebXml.com.cn/getWeather");
EndpointReference epfs = new EndpointReference("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl");
option.setTo(epfs);
serviceClient.setOptions(option);
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace namespace = fac.createOMNamespace("http://WebXml.com.cn/", "");
OMElement element = fac.createOMElement("getWeather", namespace);
OMElement theCityCode = fac.createOMElement("theCityCode ", namespace);
theCityCode.setText("北京");
element.addChild(theCityCode);
OMElement theUserID = fac.createOMElement("theUserID ", namespace);
theUserID.setText("");
element.addChild(theUserID);
OMElement result = serviceClient.sendReceive(element);
System.out.println(result);
System.out.println("****************************************************************************************************************");
Iterator in = result.getChildrenWithLocalName("getWeatherResult");
while(in.hasNext()){
OMElement om = (OMElement)in.next();
Iterator in2 = om.getChildElements();
while(in2.hasNext()){
// System.out.println(in2.next().toString());
System.out.println(((OMElement)in2.next()).getText());
}
}
}
}
输出结果如下: