[ 
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]

Reply via email to