Tuesday, April 17, 2012

REST enabling a service via OEG (Oracle Enterprise Gateway)

I have web service enabled the following Java class.

package productservices;

public class ProductServiceImpl {
public ProductServiceImpl() {
public String getProductName(String productID){
String productName = "No matching product found for ID : " + productID;

if (productID.equals("123")){
productName = "iPhone";
if (productID.equals("1234")){
productName = "iPod";
if (productID.equals("12345")){
productName = "iPad";

return productName;


I deploy to weblogic and test

I now register the service with OEG

Add a relative path

Test via Service Explorer

Now create a new Policy to process a REST version of this request
This request will have the format http://localhost:8082/ProductREST?productID=123

The first thing we need to do is parse the HTTP GET request and validate that the parameter is present (e.g. productID=123)

Now extract the productID value

Finish with a TRACE filter

Add a relative path

Deploy and test

Test via a browser -

You can ignore the error.

Check in Traffic Monitor

Now we need to compose this into a SOAP message for further processing

Add a SET Message Filter

We will set the message to the input from the Weblogic Web Service Tester

We just need to parameterize the productID

Add an HTTP Header for Content-Type

Add an HTTP header for SOAPAction

Set the HTTP Verb to POST

Now call the Product Service Policy

Deploy and test

No comments: