This document presents an introduction on REST and REST with HTTP POST and GET.
... Options options = new Options(); options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE); ...
userguide.example1.MyService
of the
AXIS2_HOME/samples/userguide/src/userguide/example1.
The class source will be as follows:public class RESTClient { private static String toEpr = "http://localhost:8080/axis2/services/MyService"; public static void main(String[] args) throws AxisFault { Options options = new Options(); options.setTo(new EndpointReference(toEpr)); options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE); ServiceClient sender = new ServiceClient(); 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://example1.org/example1", "example1"); OMElement method = fac.createOMElement("echo", omNs); OMElement value = fac.createOMElement("Text", omNs); value.addChild(fac.createOMText(value, "Axis2 Echo String ")); method.addChild(value); return method; } }
Axis2 allows users to access Web services that have simple type parameters via HTTP GET. For example, the following URL requests the Version Service via HTTP GET. However, the Web service arriving via GET assumes REST. Other parameters are converted into XML and put into the SOAP body.
http://127.0.0.1:8080/axis2/services/Version/getVersion
The result can be shown in the browser as follows:
For example, the following request,
http://127.0.0.1:8080/axis2/services/Version/getVersion
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <axis2:getVersion xmlns:axis2="http://ws.apache.org/goGetWithREST" /> </soapenv:Body> </soapenv:Envelope>
How I Explained REST to My Wife, By Ryan Tomayko- http://naeblis.cx/articles/2004/12/12/rest-to-my-wife
Building Web Services the REST Way, By Roger L. Costello- http://www.xfront.com/REST-Web-Services.html
Resource-oriented vs. activity-oriented Web services, By James Snell- http://www-128.ibm.com/developerworks/webservices/library/ws-restvsoap/