Axis2 调用Webservice 接口
发布时间:2020-12-16 23:28:18 所属栏目:安全 来源:网络整理
导读:1,先学会部署环境,搭建Axis2环境。?http://www.voidcn.com/article/p-uyrxrgjt-bkc.html 现在调用一个现有的公共webservice接口,http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?op=TranslatorString 调用方法: ?TranslatorString??输入中文,
1,先学会部署环境,搭建Axis2环境。?http://www.voidcn.com/article/p-uyrxrgjt-bkc.html 现在调用一个现有的公共webservice接口,http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?op=TranslatorString 调用方法:
?TranslatorString??输入中文,翻译成 拼音、英文。
参数:wordKey(中文)
现在要做,翻译词:【随便】,代码如下: package cn.com.webxml; import java.util.ArrayList; import java.util.Iterator; import java.util.List; 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.axis2.AxisFault; import org.apache.axis2.Constants; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class Test { public static void main(String[] args) throws AxisFault { RPCServiceClient serviceClient = new RPCServiceClient(); Options options = new Options(); options.setAction("http://WebXml.com.cn/TranslatorString"); //因为soap1.2规范必须指定action EndpointReference targetEPR = new EndpointReference("http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?WSDL"); options.setTo(targetEPR); options.setTimeOutInMilliSeconds(6000000000L);//设置超时时间 options.setTransportInProtocol(Constants.TRANSPORT_HTTP); //传输协议 serviceClient.setOptions(options); OMFactory fac = OMAbstractFactory.getOMFactory(); OMNamespace omNs = fac.createOMNamespace( "http://WebXml.com.cn/",""); OMElement method = fac.createOMElement("TranslatorString ",omNs); OMElement wordKey = fac.createOMElement("wordKey",omNs); wordKey.setText("随便"); method.addChild(wordKey); method.build(); OMElement result = serviceClient.sendReceive(method); System.out.println(getResults(result)); System.exit(0); } /*** * 解析XML,将获取到的数据封装到list中 * @param element * @return */ public static List<String> getResults(OMElement element) { if (element == null) { return null; } Iterator iterator = element.getChildElements(); Iterator innerItr; List<String> list = new ArrayList<String>(); OMElement result = null; while (iterator.hasNext()) { result = (OMElement) iterator.next(); innerItr = result.getChildElements(); while(innerItr.hasNext()){ OMElement result2 = (OMElement)innerItr.next(); if(result2!=null){ String text = result2.getText(); if(text!=null && !("").equals(text)){ list.add(text); } } } } return list; } }运行结果: 注意: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |