You may just have a POX (plain old XML) service, and not really REST, per
se. A RESTful service uses HTTP methods such as POST, GET, PUT and DELETE to
achieve the basic CRUD operations (create, read, update, and delete)--you
use the appropriate HTTP 'verb' for the appropriate CRUD method. All
resources are identified using distinct URIs--use of GET params to identify
a resource is discouraged. Otherwise, RESTful services are very much POX.

Sun has a good article on REST, and specifically when to use REST vs. SOAP.

http://java.sun.com/developer/technicalArticles/WebServices/restful/

(It's JAX-WS, not Axis2, but still informative). This might give you some
insight as to whether or not to go with REST, or switch to SOAP. The IBM
Developerworks article linked at the bottom of the Axis2 page on REST is
also good.

REST or POX is a highly simplified way of doing web services--hence the
appeal. This you can do just as easily with a simple servlet as with Axis2.
The main argument for SOAP, on the other hand, is the support of WS-*
standards. Here you really do need a SOAP engine such as Axis2. 


-----Original Message-----
From: S. Sharif [mailto:[EMAIL PROTECTED] 
Sent: Thursday, December 07, 2006 5:22 PM
To: [email protected]
Subject: RE: [Axis2] How to build web service that is invoked via HTTP Post
?


Thanks for sharing the link with me.  I read it; it is
brief.  I looked through the Axis2 project site, but
did not come across any other pages that talked
specifically about builing REST web services using
Axis2.  The wiki section only provides two external
links for REST;  both links pointed to two very brief
articles as well, both of which did not address
writting the service-side code for REST in Axis2.

This leads me to conclude that Axis2 (even though it
supports REST) was mostly designed for building SOAP
web services.

At this point it seems that the existing web services
that I am converting to Java, were developed as REST
web services.  This means that I have no choice but to
keep them as REST web services when I re-build them in
Java, so that I don't impact any existing clients that
are currently inoking the web services.

I am still puzzled as to whether I should use Axis2 or
not.  What would be the advantage of using Axis2 vs.
writing a Java servlet?

Currently the web services that I need to convert to
Java, do not have a WSDL file, each web service has
only one single point of entry (no multiple methods
per web service), and each service takes in an xml as
input (submitted to the web service via HTTP Post) and
it returns an xml as output via HTTP reponse.

So I am thinking that I could implement each of these
web services as a Java servlet, and the single point
of entry for a web service would be the
doPost(request, response)  method in the Servlet.

Then I can retrieve the input xml from the body of the
HTTP request using the request.getReader() method.

I am not certain how a single point of entry into a
web service would be implemented with Axis2.  The one
example provided on the Axis2 project site shows two
methods inside of a web service: echo() and ping(). 
And how the web service knows which method to call is
not clear to me.  Though I did notice that the input
xml seems to be wrapped in an xml tag that carries the
same name as the name of the method that is to be
invoked inside of the web service.  So maybe that is
how it mapps each input xml to each method to be
invoked.

In any case, I am open to any suggestions on how I
should re-build my REST web services in Java.  Any
help would be very much appreciated.

Thanks,
-Saladin


--- "Spies, Brennan" <[EMAIL PROTECTED]>
wrote:

> Have you looked at the REST examples?
> http://ws.apache.org/axis2/1_1/rest-ws.html
> 
> 
> Brennan Spies
> Sr. Programmer Analyst
> Shared Application Services
> 
> 
> -----Original Message-----
> From: S. Sharif [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, December 07, 2006 11:09 AM
> To: [email protected]
> Subject: [Axis2] How to build web service that is
> invoked via HTTP Post ?
> 
> 
> Hi,
> I am new to building web services in Java, even
> though
> I have been using Java for several years mostly in
> building web applications.
> 
> I have been assigned the task to replace several web
> services that were previsouly built using some
> proprietary software, and re-build them in Java.  I
> have started looking into Axis2 several days ago. 
> But
> the examples I have tried so far do not seem to work
> the same way as the web services that I am
> replacing.
> 
> I have recenly found out that there is no existing
> WSDL file for the web services that I am converting
> to
> Java, and that these web services are invoked via
> HTTP
> Post.  The client invokes the web service by passing
> an xml request to them via HTTP Post and then
> receives
> back an xml via HTTP Reponse.  So it seems that the
> SOAP examples on the Axis2 website do not apply to
> me.
> 
> Should I still use Axis2 in my situation, or how
> should I go about building these web services in
> Java?
> 
> Any suggestions are welcome.
> 
> Thanks.
> -Saladin
> 
> 
>
**********************************************************
> * Saladin Sharif
> * e-mail:  [EMAIL PROTECTED]
> * Visit homepage @ http://gaia.ecs.csus.edu/~sharifs
>
**********************************************************
> 


**********************************************************
* Saladin Sharif
* e-mail:  [EMAIL PROTECTED]
* Visit homepage @ http://gaia.ecs.csus.edu/~sharifs
**********************************************************


 
____________________________________________________________________________
________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to