axis2RESTFUL开发客户端

来源:互联网 发布:xp限制安装软件 编辑:程序博客网 时间:2024/04/30 10:53
package com.client;import javax.xml.stream.FactoryConfigurationError;import javax.xml.stream.XMLOutputFactory;import javax.xml.stream.XMLStreamException;import javax.xml.stream.XMLStreamWriter;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.client.ServiceClient;public class TestRest {private static String toEpr = "http://localhost:8080/axis2/services/Axis2WB";public static void main(String[] args) throws AxisFault {Options options = new Options();options.setTo(new EndpointReference(toEpr));// 客户端REST方式调用服务跟普通服务的区别,REST调用必须加上下面这个代码。options.setProperty(Constants.Configuration.ENABLE_REST,Constants.VALUE_TRUE);ServiceClient sender = new ServiceClient();// axis2-1.5.4不需要下面这句代码,否则会报错// sender.engageModule(new QName(Constants.MODULE_ADDRESSING));sender.setOptions(options);OMElement result = sender.sendReceive(getPayload());try {XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);result.serialize(writer);writer.flush();} catch (XMLStreamException e) {e.printStackTrace();} catch (FactoryConfigurationError e) {e.printStackTrace();}}private static OMElement getPayload() {OMFactory fac = OMAbstractFactory.getOMFactory();OMNamespace omNs = fac.createOMNamespace("http://service.com","");OMElement method = fac.createOMElement("sayHello", omNs);OMElement value = fac.createOMElement("name", omNs);value.addChild(fac.createOMText(value, "helloworld"));method.addChild(value);return method;}}

0 0
原创粉丝点击