axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samuel Alexander Gnanaraj (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5647) Hierarchical RESTful resources support
Date Sat, 10 May 2014 22:07:07 GMT
Samuel Alexander Gnanaraj created AXIS2-5647:
------------------------------------------------

             Summary: Hierarchical RESTful resources support 
                 Key: AXIS2-5647
                 URL: https://issues.apache.org/jira/browse/AXIS2-5647
             Project: Axis2
          Issue Type: Bug
          Components: kernel, wsdl
    Affects Versions: 1.6.2
            Reporter: Samuel Alexander Gnanaraj
             Fix For: 1.6.2
         Attachments: Order.wsdl2

REST resources can be like the below
HTTP GET http:/www.example.com/customer/{customerID}
HTTP GET http:/www.example.com/customer/{customerID}/orders/{orderID}/
HTTP GET 
http:/www.example.com/customer/{customerID}/orders/{orderID}/orderitem/{itemnumber}

Customer Details can be fetched using the first resource. Order details of a specific customer
can be fetched using second resource. Item details of a specific order of a customer can be
fetched using last resource.
Corresponding WSDL with these operations are attached (Customer.wsdl2)
While executing the above service (Created an aar with System.out.println in skeleton), the
last resource is executed successfully. But while executing the first two resources, “String
index out of range” exception is thrown. 
During the service deployment Axis2 builds the HTTP Location Table for the above service as
follows.
GET/customer	- AxisOperation Object of OrderItem
GET/orders	 - AxisOperation Object of OrderItem
GET/orderitem - AxisOperation Object of OrderItem

This is because Axis2 removes the parmeters (Dynamic variables whose values are expected to
be sent at runtime) that are declared in the whttp:location element

To solve this HTTP Location Table has to be populated with parameters as well. In that case
the HTTP Location Table for the above service will be 

GET/customer	 - AxisOperation Object of Customer
GET/orders	 - AxisOperation Object of Orders
GET/orderitem	 - AxisOperation Object of OrderItem

And the HTTPLocationBasedDispatcher.findOperation has to find the operation based on this
populated HTTP Location Table.




--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message