[
https://issues.apache.org/jira/browse/AXIS2-5647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nurhan Berk updated AXIS2-5647:
-------------------------------
Attachment: AXIS2-1.7.patch
> 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: AXIS2-1.7.patch, 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: [email protected]
For additional commands, e-mail: [email protected]