Print Page

Wednesday, September 10, 2008

Sync Response

This feature introduces a Synchronous response to any of the incoming Business Document. Sync HTTP response essentially mean, sending the response using the same http connection as the incoming business message.


There is an introduction of a new URI b2b/SYNCResponseServlet to handle the Sync response in B2B. Every business message which is received in this URI, it is expected to send the response using the same http connection with in the time out time. The time out time is configured in tip.properties using

oracle.tip.adapter.b2b.httpSyncReplyWaitTime=

Use case : Globalchips to receive 270 EDI request from Acme over HTTP and respond with 271 EDI synchronously.

Implementation :

1. Acme Side

a. For both Acme and Globalchips, supported business action(270,271) must have

Functional Acknowledgement required? should be set to NO.

b. Configure the following in the additional transport header for GlobalChips.

http.sync=true#timeout=300000

c. End point URI for GlobalChips is selected as b2b/SYNCResponseServlet

2. Global Chips side.

a. For both Acme and Globalchips, supported business action(270,271) must have

Functional Acknowledgement required? should be set to NO.

b. web.xml in $ORACLE_HOME/j2ee/OC4j_B2B/applications/b2b/ip/WEB-INF/ must be modified to include the following servlet-mapping for transportServlet.

<servlet-mapping>
<servlet-name>transportServlet</servlet-name>
<url-pattern>SYNCResponseServlet</url-pattern>
</servlet-mapping>

c. Configure the following tip.properties

oracle.tip.adapter.b2b.httpSyncReplyWaitTime = wait time in minutes.

d. Also set

oracle.tip.adapter.b2b.ReplyToAsRequest=true

Back end application such as BPEL is required to send the response i.e 271 with replyToMsgID value of the original message. B2B message ID of the request message 270 should be sent as replyToMsgID of the Synchronous response 271

Please note in Oracle 10g, this feature is not High availability enabled i.e it is not possible to get the request in one instance of B2B and send the Sync Response in another.

No comments: