You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2006/03/23 05:51:28 UTC
svn commit: r388036 - in /webservices/axis2/trunk/java/xdocs/0_95:
images/userguide/http-get-ws.jpg images/userguide/http-get-ws.png
rest-ws.html
Author: deepal
Date: Wed Mar 22 20:51:26 2006
New Revision: 388036
URL: http://svn.apache.org/viewcvs?rev=388036&view=rev
Log:
-fixing error in images
Added:
webservices/axis2/trunk/java/xdocs/0_95/images/userguide/http-get-ws.jpg (with props)
Removed:
webservices/axis2/trunk/java/xdocs/0_95/images/userguide/http-get-ws.png
Modified:
webservices/axis2/trunk/java/xdocs/0_95/rest-ws.html
Added: webservices/axis2/trunk/java/xdocs/0_95/images/userguide/http-get-ws.jpg
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_95/images/userguide/http-get-ws.jpg?rev=388036&view=auto
==============================================================================
Binary file - no diff available.
Propchange: webservices/axis2/trunk/java/xdocs/0_95/images/userguide/http-get-ws.jpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: webservices/axis2/trunk/java/xdocs/0_95/rest-ws.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_95/rest-ws.html?rev=388036&r1=388035&r2=388036&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/0_95/rest-ws.html (original)
+++ webservices/axis2/trunk/java/xdocs/0_95/rest-ws.html Wed Mar 22 20:51:26 2006
@@ -1,129 +1,129 @@
-<html>
-<head>
- <meta http-equiv="content-type" content="">
- <title>RESTful Web Services Support</title>
-</head>
-
-<body lang="en">
-<h1>RESTful Web services Support</h1>
-
-<p>REST provides access to resources through the two methods GET and POST.
-REST Web services are a reduced subset of the usual Web service stack.</p>
-
-<p>The Axis2 REST implementation assumes the following properties:</p>
-<ol>
- <li>REST Web services are Synchronous and Request Response in nature.</li>
- <li>When REST Web services are accessed via GET, the service and the
- operations are identified based on the URL. The parameters are assumed as
- parameters of the Web service. In this case the GET based REST Web
- services supports only simple types as arguments.</li>
- <li>POST based web services do not need a SOAP Envelope or a SOAP Body.
- REST Web Services do not have Headers and the payload is sent
- directly.</li>
-</ol>
-
-<p>Axis2 can be configured as a REST Container and can be used to send and
-receive RESTful Web services requests and responses. REST Web services can be
-accessed in two ways, i.e. using HTTP GET and POST.</p>
-
-<h2>Doing REST web services with HTTP POST</h2>
-
-<p>The REST default HTTP interface is POST. It can be enabled in the
-Server/Client side by adding the following line to the axis2.xml file.</p>
-<font color="blue">< parameter name="enableREST" locked="false" > true
-</parameter> </font>
-
-<p>It however acts as both a REST endpoint and SOAP endpoint. When a Message
-is received, if the content type is text/xml and if the SOAP Action Headers
-are missing, then the Message is treated as a RESTful Message. Else it is
-treated as a usual SOAP Message.</p>
-
-<p>On sending a message out, the fact that the message is RESTful or not, can
-be decided from the client API or by deployment descriptor of the client.</p>
-<ol>
- <li>By adding an entry in the client repositories axis2.xml file.</li>
- <li>Setting as a property in client API e.g. <source>
- <pre>...
-Options options = new Options();
-options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE);
-...</pre>
- </source></li>
-</ol>
-
-<h3>Sample REST - HTTP POST Client</h3>
-
-<p>There is an example named, userguide.clients.RESTClient.java which
-demonstrates the usage of the above, using the "echo"operation of the
- </p>
-<pre>userguide.example1.MyService </pre>
-
-<p>of the samples.The class source will be as follows:</p>
-
-<source>
-<pre>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.setTransportInProtocol(Constants.TRANSPORT_HTTP);
-
- 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.createText(value, "Axis2 Echo String "));
- method.addChild(value);
-
- return method;
- }
-}</pre>
-</source>
-<h2>Access a REST Web Service Via HTTP GET</h2>
-
-<p>Axis2 allow 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. But the Web service arriving via GET assumes REST. Other parameters
-are converted in to XML and put in to the SOAP Body.</p>
-<source><pre>http://127.0.0.1:8080/axis2/services/version/getVersion</pre>
-</source>
-<p>Result can be shown in the browser as follows:</p>
-<img src="images/userguide/http-get-ws.png" alt="" />
-
-<p>For example, the following request, </p><source>
-<pre>http://127.0.0.1:8080/axis2/services/version/getVersion</pre>
-</source>will be converted to the following SOAP Message for processing by
-Axis2.<source>
-<pre>
- <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>
- </pre>
-</source>
-
-</body>
-</html>
+<html>
+<head>
+ <meta http-equiv="content-type" content="">
+ <title>RESTful Web Services Support</title>
+</head>
+
+<body lang="en">
+<h1>RESTful Web services Support</h1>
+
+<p>REST provides access to resources through the two methods GET and POST.
+REST Web services are a reduced subset of the usual Web service stack.</p>
+
+<p>The Axis2 REST implementation assumes the following properties:</p>
+<ol>
+ <li>REST Web services are Synchronous and Request Response in nature.</li>
+ <li>When REST Web services are accessed via GET, the service and the
+ operations are identified based on the URL. The parameters are assumed as
+ parameters of the Web service. In this case the GET based REST Web
+ services supports only simple types as arguments.</li>
+ <li>POST based web services do not need a SOAP Envelope or a SOAP Body.
+ REST Web Services do not have Headers and the payload is sent
+ directly.</li>
+</ol>
+
+<p>Axis2 can be configured as a REST Container and can be used to send and
+receive RESTful Web services requests and responses. REST Web services can be
+accessed in two ways, i.e. using HTTP GET and POST.</p>
+
+<h2>Doing REST web services with HTTP POST</h2>
+
+<p>The REST default HTTP interface is POST. It can be enabled in the
+Server/Client side by adding the following line to the axis2.xml file.</p>
+<font color="blue">< parameter name="enableREST" locked="false" > true
+</parameter> </font>
+
+<p>It however acts as both a REST endpoint and SOAP endpoint. When a Message
+is received, if the content type is text/xml and if the SOAP Action Headers
+are missing, then the Message is treated as a RESTful Message. Else it is
+treated as a usual SOAP Message.</p>
+
+<p>On sending a message out, the fact that the message is RESTful or not, can
+be decided from the client API or by deployment descriptor of the client.</p>
+<ol>
+ <li>By adding an entry in the client repositories axis2.xml file.</li>
+ <li>Setting as a property in client API e.g. <source>
+ <pre>...
+Options options = new Options();
+options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE);
+...</pre>
+ </source></li>
+</ol>
+
+<h3>Sample REST - HTTP POST Client</h3>
+
+<p>There is an example named, userguide.clients.RESTClient.java which
+demonstrates the usage of the above, using the "echo"operation of the
+ </p>
+<pre>userguide.example1.MyService </pre>
+
+<p>of the samples.The class source will be as follows:</p>
+
+<source>
+<pre>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.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+ 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.createText(value, "Axis2 Echo String "));
+ method.addChild(value);
+
+ return method;
+ }
+}</pre>
+</source>
+<h2>Access a REST Web Service Via HTTP GET</h2>
+
+<p>Axis2 allow 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. But the Web service arriving via GET assumes REST. Other parameters
+are converted in to XML and put in to the SOAP Body.</p>
+<source><pre>http://127.0.0.1:8080/axis2/services/version/getVersion</pre>
+</source>
+<p>Result can be shown in the browser as follows:</p>
+<img src="images/userguide/http-get-ws.jpg" alt="" />
+
+<p>For example, the following request, </p><source>
+<pre>http://127.0.0.1:8080/axis2/services/version/getVersion</pre>
+</source>will be converted to the following SOAP Message for processing by
+Axis2.<source>
+<pre>
+ <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>
+ </pre>
+</source>
+
+</body>
+</html>