您的位置:首页 > 其它

Axis调用webservice查看手机信息(固定号码)

2011-07-11 11:10 417 查看
1.   下载axis
2. 在myeclipse下建立一个web project 项目
把axis下的lib包导入到项目中的lib中间去。
3. 创建一个javabean TelephoneAxis.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 TelephoneAxis {

private static EndpointReference targetEPR = new  EndpointReference(
"http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx");
public void  getResult() throws Exception
{
String s = null;
ServiceClient sender =  new  ServiceClient();
sender.setOptions(buildOptions());
OMElement  result = sender.sendReceive(buildParam());
s = result.getFirstElement().getText();
System.out.println(s);
}
private static OMElement buildParam()
{
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/", "");
OMElement data = fac.createOMElement("getMobileCodeInfo", omNs);
OMElement inner = fac.createOMElement("mobileCode", omNs);
inner.setText("15874333***");
data.addChild(inner);
return   data;
}

private static Options buildOptions()
{
Options options = new Options();
options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
options.setAction("http://WebXml.com.cn/getMobileCodeInfo");
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
{
TelephoneAxis s = new TelephoneAxis();
s.getResult();
}
}

4. 大功告成。 如果需要动态输入电话号码 可以加入一个index.jsp 页面 。
5. 待续 。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: