1.步骤与查看手机号码归属地博客是一样的。
2. 建立一个weatherAxis.java 文件
代码如下:
package com.tools;
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.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties.ProxyProperties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class WeatherAxis {
private static EndpointReference targetEPR = new EndpointReference(
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
// private static EndpointReference targetEPR = new EndpointReference(
// "http://210.43.64.106/Service.asmx");
public void getResult() throws Exception
{
ServiceClient sender = new ServiceClient();
sender.setOptions(buildOptions());
OMElement result = sender.sendReceive(buildParam());
System.out.println(result);
}
private static OMElement buildParam()
{
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/", "");
// OMNamespace omNs = fac.createOMNamespace("http://tempuri.org/", "");
OMElement data = fac.createOMElement("getWeatherbyCityName", omNs);
// OMElement data = fac.createOMElement("XSCheckPassword", omNs);
OMElement inner = fac.createOMElement("theCityName", omNs);
// OMElement inner = fac.createOMElement("xh", omNs);
inner.setText("吉首");
// OMElement inner2 = fac.createOMElement("xm", omNs);
// inner.setText("2008198821");
data.addChild(inner);
// data.addChild(inner2);
return data;
}
private static Options buildOptions()
{
Options options = new Options();
options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
options.setAction("http://WebXml.com.cn/getWeatherbyCityName");
// options.setAction("http://210.43.64.106/XSCheckPassword");
options.setTo(targetEPR);
//options.setProperty 如果不是通过代理上网,此句可省
//options.setProperty(HTTPConstants.PROXY, buildProxy());
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
return options;
}
/**
* 本机采用代理服务器上网时,需要设置代理
* @return
*/
public static ProxyProperties buildProxy()
{
ProxyProperties proxyProperties = new ProxyProperties();
proxyProperties.setProxyName("代理名称");
proxyProperties.setProxyPort(8080);
return proxyProperties;
}
public static void main(String[] args) throws Exception
{
WeatherAxis s = new WeatherAxis();
s.getResult();
}
}
3.大功告成。