Axis2 调用wsdl webservice 示例
发布时间:2020-12-17 00:22:13 所属栏目:安全 来源:网络整理
导读:package com.sinosoft.webservice;import java.util.Date;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.soa
package com.sinosoft.webservice; import java.util.Date; 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; import org.apache.axis2.transport.http.HTTPConstants; import org.apache.axis2.transport.http.HttpTransportProperties.ProxyProperties; public class WeatherAxiomClient { private static EndpointReference targetEPR = new EndpointReference("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"); private static OMFactory fac = OMAbstractFactory.getOMFactory(); static OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/","tns"); public static void main(String args[]) throws AxisFault{ Date start=new Date(); System.out.println("start:"+start); ServiceClient sender = new ServiceClient(); sender.setOptions(buildOptions("http://WebXml.com.cn/getWeatherbyCityName")); OMElement result = sender.sendReceive(buildParam("getWeatherbyCityName",new String[]{"theCityName"},new String[]{"上海"})); System.out.println(result); Date end=new Date(); System.out.println("end:"+end); System.out.println("between:"+(end.getTime()-start.getTime())); } /** * @see 调用webservice得到天气预报支持的城市 * @return */ public static OMElement buildParam(String method,String[] arg,String[] val) { OMElement data = fac.createOMElement(method,omNs); for(int i=0;i<arg.length;i++){ OMElement inner = fac.createOMElement(arg[i],omNs); inner.setText(val[i]); data.addChild(inner); } return data; } /** * @see 设置连接属性 * @return */ public static Options buildOptions(String action){ Options options = new Options(); options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); //options.setSoapVersionURI(action); options.setAction("http://WebXml.com.cn/getSupportCity"); options.setTo(targetEPR); options.setTransportInProtocol(Constants.TRANSPORT_HTTP); options.setProperty(HTTPConstants.CHUNKED,"false");//设置不受限制. options.setProperty(HTTPConstants.PROXY,buildProxy()); options.setProperty(Constants.Configuration.HTTP_METHOD,HTTPConstants.HTTP_METHOD_POST); // options.setAction(action); return options; } /** * @see 设置代理属性 * @return */ public static ProxyProperties buildProxy(){ ProxyProperties proxyProperties=new ProxyProperties(); proxyProperties.setProxyName("172.19.18.22"); proxyProperties.setProxyPort(8080); return proxyProperties; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |