OSB service invocation from BPEL 11g through JMS adapter Request/Reply Async Call
Scenario: Invoking an OSB Proxy service using JMS transport
Assumptions :OSB proxy service is configured on JMS and running on remote WLS server.
Step 1: Create a JNDI name for the Remote WLS JMS Connection in SOA server
a. Login to the SOA server weblogic admin console
b. navigate to deployment--> JMSAdapter
c. From the "Settings for JMSAdapter" --> configuration --> Outbound Connection Pools
d. Click on "New" --> "Outbound Connection Group" --> oracle.tip.adapter.jms.IJmsConnectionFactory-- > next Give JNDI name as "eis/wls/osb" --> Finish
e. Now, connection "eis/wls/osb" is available under "Settings for JMSAdapter" --> configuration --> Outbound Connection Pools
f. Click on "eis/wls/osb" and set the properties for the remote Queue java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://10.75.85.151:9021;java.naming.security.principal=weblogic;
java.naming.security.credentials=weblogic
g. Again from the console-->deployments -->JMSAdapter checkbox , and choose to "update" -->On the "Update Application Assistant" -- > selected the first option "Update
this application in place with new deployment plan changes.Selected the deployment plan which had got created earlier, "Finish"
Note:Even though the server console message says no need to restart the server, we need to restart it to reflect the changes.
Step 2: Use JMS adapter wizard to configure the Remote JMS connection for request and the Response Queue
a.Select OEMS --> Oracle Weblogic JMS
b. Select the WLS Server in service connection tab
c. In Operation tab, select the Request/Reply --> ASynchronous
d. Request/Reply Operation Parameters --> Here select the request and
reply queue from the remote WLS server and select the appropriate JNDI Name
e. Complete the wizard by selecting the schemas for request and reply
Step 3: Deploy the process and Invoke it from EM console
Apart from all these settings there are some changes has to be done on OSB proxy service. By default OSB will not pass all the headers to the inbound response.So we need to copy the required headers from the inbound request to inbound response.Since the business service is configured as a SOAP over http the header informations has to be copied to the outbound response(Response from the Buisness service) or inbound response.
Note: If you are not using the correlation ID from the JMS adapter, you need to copy the message ID from the inbound request(to the proxy service) to the outbound response's correlation id value so that the JMS adapter can identify the response and map to the particular instance.
Oracle SOA, AIA BPEL ESB and OSB knowledge base
Subscribe to:
Post Comments (Atom)
About Me
FEEDJIT Live Traffic Map
My Blog List
Blog Archive
-
▼
2009
(21)
-
▼
February
(8)
- JMS is a bit different in JDeveloper 11G and WebLo...
- Oracle Service Bus: Calling ASync BPEL services fr...
- OSB service invocation from BPEL 11g through JMS a...
- OSB service invocation from BPEL 11g through JMS a...
- Empty Namespace issue in custom xsd based adapter
- Pure SQL Exception
- Oracle BPEL Oracle SOA FTP Synchronous Read
- Oracle Service Bus: Flat file to xml
-
▼
February
(8)
1 comment:
Abhishek,
This seems to work but do you not need to estabilish trusted domain between two WebLogic server (SOA Doamin where the BPEL is running and target domain where the message is being put on).
Post a Comment