While working on an Oracle tech presentation to be posted here, I discovered the following issue with native REST and Oracle Service Bus.
SOA Quickstart / 12.2.1 OSB, running on RedHat derivative with Oracle JDK 8.
OSB 12.2.1 Native REST pipelines don’t work with GET parameters.
Creating a native REST business services works fine, also adding a REST proxy service.
Once you insert a pipeline HTTP stops working correctly (since the URL parameters aren’t forwarded, a list will be returned by the backend service according to REST semantics), since URL parameters are not forwarded.
Steps to reproduce:
- Use REST tech adapter to create a REST business service for an existing REST backend.
- Define GET and POST methods. WADL will be created.
- Test business service from WADL: both GET and POST will work.
- Create proxy service from REST business service
- Test proxy service, again GET and POST methods will work from OSB test client.
- In JDev, drop a pipeline on the line connecting proxy and business service.
- In JDev verify the pipeline configuration. it will display correct values.
- Test the proxy service again, only POST will work. GET does not work anymore (now returns a whole list), since the URL parameters are not forwarded. Even an empty OSB pipeline will swallow the GET URL parameters.
IMHO this is a bug. I am currently in discussion with Oracle about it.
What is next?
I will let you know about updates / fixes or workarounds. Note, you could set the URL parameters as routing options to circumnavigate the issue for a particular use case.