In Service Bus, Proxy Services provide an interface to Service Consumers. In this post, you will see different ways to create Proxy Servicse using JDeveloper based on a WSDL. And for demonstration purpose, we will consider Service Bus project and WSDL as shown below.
Method 1:
Right click Service Bus project and select New –> Proxy Service. You can also select Pipeline in this context menu and check the option Expose as a Proxy Service in step2 of wizard.
Give a meaningful name for Proxy Service as shown below.
Click Browse WSDLs icon and select CustomerService WSDL.
Click OK to go back to Create Proxy Service wizard. Retain Generate Pipeline selection so that wizard will create both Proxy Service and Pipeline for you.
Method 2:
Open the Service Bus overview file (file with same name as your project) and drag HTTP adapter into from Components –> Service Bus –> Technology –> HTTP into Proxy Services swim lane to bring up Create Proxy Service wizard as shown below.
Give meaningful name for Proxy Service and click Next. Select WSDL option and select WSDL as shown in previous method by clicking Browse WSDLs icon.
Method 3:
Right click WSDL in Service Bus project and select Service Bus –> Generate Proxy Service as shown below. You can also select Generate Pipeline in this context menu and check the option Expose as a Proxy Service in step2 of wizard.
Verify that Create Proxy Service wizard has come up showing WSDL and binding selected.
The following steps are common irrespective of above methods you choose to create Proxy Service.
Click Next and give Endpoint URI as /entity/CustomerService. So service consumers can access your proxy service using URL as given below.
:/entity/CustomerService”>http://:/entity/CustomerService
Click Finish to bring up CustomerPS.proxy window showing properties of your Proxy Service. Go to Message Handling tab and select SOAPAction Header as Selection Algorithm. This would enable proxy service to determine operation at runtime based on SOAP Action in HTTP headers. You can retain the default option SOAP Body Type unless no 2 operations share same payload structure.
Now your Service Bus project should show both Proxy Service and Pipeline as shown below.
Hi Shiva,
We have created very simple proxy service with wsdl .We have slected no Policy option .It was working when we test from sbconsole.But when we are trying to test from SOAP UI ,it is giving 403 forbidden error .some weird,we can import the wsdl by using endpoint url to SOAP UI.Could you please help us .
Thanks,
would you tell me how are you using in SOAP UI? i think you don’t have any firewalls/OHS etc..etc..come into place while accessing the url..
I’ve the same problem and can’t solve them
Could you let me know the exact error you are seeing..we can check error log and http log windows in soap ui..
Hi Siva,
was this solved. i followed your blog and completed a REST service, i am facing the same issue. from SB console both JSON and XMl are working, but when i tried to access the endpoint URI from SOAP UI, its giving me “not found” error. i tried to access the WSDL/WADL endpoints “endpointURI?WSDL/WADL”, but no luck.
There are some other WSDL based proxies which are working with the same host,port details.
Please let me know if you have any inputs.
Thanks,
Kumar
How do you configure the proxy service if the WSDL resource contains multiple portType operations?
Suppose your customer service WSDL had two available operations, queryContacts and updateCustomer, each having different request and response message schemas, so 4 total message schemas. I don’t see how you could write one route condition that applies to both.
Do you want to perform same action for both operations? You have operation branch node which allows you to follow different path for different operations.