使用axis2调天气接口

package service;

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 WeatherService {
	private static void invokeWeatherInfo() {
		ServiceClient sender = null;
		try {
			sender = new ServiceClient();
		Options option = new Options();
		option.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
		option.setAction("http://WebXml.com.cn/getWeatherbyCityName");
		EndpointReference epfs = new EndpointReference("http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx");
		option.setTransportInProtocol(Constants.TRANSPORT_HTTP);
		option.setTo(epfs);
		sender.setOptions(option);

		OMFactory fac = OMAbstractFactory.getOMFactory();
		OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/", "");
		OMElement data = fac.createOMElement("getWeatherbyCityName", omNs);
		OMElement inner = fac.createOMElement("theCityName", omNs);
		inner.setText("杭州");
		data.addChild(inner);
		OMElement result = sender.sendReceive(data);
		System.out.println(result);
		} catch (AxisFault e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	public static void main(String[] args) {
		// invokeTVchannel();
		invokeWeatherInfo();
	}
}

你可能感兴趣的:(使用axis2调天气接口)