Tuesday Jun 11, 2013

How to Create TA1 ecs file?

By Default, when you create TA1 as doctype in Administration->Document, the TA1.ecs and TA1.xsd would be created.

However, if there is a requirement to customise the TA1 specification, you might need to create it manually using the document editor.

Here below are the steps to create the same using the document editor
  1. Select the Doctype, for which you need to have the TA1 being generated.
  2. Ensure the selct the checkbox for "Insert Envelop Segments"
  3. In the Envelop pane, select the revision with "xxxxx-with optional segments". Here xxxxx is the version number. Click "Finish" to complete the ecs generation.
  4. This will create the complete ecs file for the selected doctype. It is required to delete all the nodes except "TA" and modify accordingly...

Tuesday Nov 27, 2012

Customisation / overriding of the Envelop ecs files

There are few usecases where the requirement is to customise the envelop information (Interchange/Group ecs file).
Such scenarios might be required to be used for only few of the customers.
Hence, in addition to the default seeded envelop definitions, it also required to upload the customised definitions.

Here is the steps for achieving the same.
1. Create only the Interchange ecs and save
2. Create only the group ecs and save
3. Use the same in B2B

1. Create only the Interchange ecs and save :
      Open the document editor and select the required version and doctype. During creating new ecs, ensure to select the checkbox for insert envelop.
      Once created, delete the group and transactionset nodes and retain only the Interchange ecs nodes, including both header and trailer. Save this file.

2. Create only the group ecs and save
      After creating the ecs file as mentioned in steps of Interchange creation, delete the Interchange and transactionset nodes and retain only the group ecs nodes, including both header and trailer. Save this file.

3. Use the same in B2B
      These newly created ecs can be used in B2B by 2 ways.
             a. By overriding at the trading partner Level:
             This will be very useful when the configuration is complete and then need to incorporate the customisation. In this case, just select the Trading partner -> document -> select the document which need to be customised.
             Upload the newly created Interchange and group ECS files under the Interchange and group tabs respectively and re-deply the associated agreement.
             The advantage of this approach is
             - Flexibility to add customised envelop definitions to the partners
             - Save the re-work of design time effort.

             b. By adding another document definition in Administration -> document screen:
             This scenario can be used if there is no configuration done at the trading partner level. Create the required document revision and overtide the Interchange and group ECS files under the Interchange and group tabs respectively. Add the document in Trading partner -> document. Create and deploy the agreements

Monday Nov 12, 2012

B2B communication using IBM MQ

Oracle B2B 11g, provides the out-of-the box ability to connect to IBM MQ to exchange the message. This is support is provided via JMS offering of Oracle B2B.

This is an addition to the stack of existing communication capabilities of B2B with trading partners.

There are 2 ways of connecting to IBM MQ using B2B

1. Credential based connectivity
2. .bindings based connectivity

As a pre-requisite to connect to IBM MQ, it is required to provide the following libraries in classpath:

a. com.ibm.mqjms.jar
b. dhbcore.jar
c. com.ibm.mq.jar
d. com.ibm.mq.jmqi.jar
e. mqcontext.jar
f. com.ibm.mq.pcf.jar
g. com.ibm.mq.commonservices.jar
h. com.ibm.mq.headers.jar
i. fscontext.jar
j. jms.jar

Add the above jars into domain library directory and the directory usually located at $DOMAIN_DIR/lib.

The jars located in this($DOMAIN_DIR/lib) directory will be picked up and added dynamically to the end of the server classpath at server startup.

For eg. <$fmwhome>/user_projects/domains//lib/

Alternatively the above jar’s can also be added as part of the setDomainEnv.sh

Credential based connectivity :

Outbound: : Configure the trading partner delivery channel for using "Generic JMS" protocol

Inbound: : Configure the internal delivery channel for using "Generic JMS" protocol
with the following details:

Parameter NameDescription
Destination NameMQ Queue Name
Connection FactoryMQ Queue Manager Name
Destination Providerjava.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory;java.naming.provider.url=<host>:<QM Listen port>/<MQ Channel Name>;
User NameMQ User Name
passwordMQ password

.bindings based connectivity

As a pre-requisite, get/generate the .bindings file in MQServer. This can be done by MQ Administrator
Set the following values in the respective delivery channel for outbound / inbound

Parameter NameDescription
Destination NameMQ Queue Name
Connection FactoryMQ Queue Manager Name
Destination Providerjava.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory;java.naming.provider.url=file:///<location of .bindings file>;

Tuesday Oct 02, 2012

B2B Customer Case Study Presentation at OOW 2012!

Real life B2B customer talking about consolidation to Oracle B2B and SOA Suite. Hear Kevin Clugage, IT Director, Stryker and B2B Team present on consolidating legacy B2B networks on a global B2B infrastructure using Oracle B2B and SOA Suite. This session will discuss B2B industry trends, product overview, Stryker's case study and will elaborate on the benefits of using Oracle B2B to solve your partner integration needs today. Oracle B2B is Drummond Certified and has customers using the product in Supply Chain, Travel, Transport, Healthcare, Hightech and Telecom industries.
We are excited about our session, and look forward to see you there!

Wed, Oct 3, 3:30 PM – 4:30 PM – Moscone West – 3003
CON5003 – Delivering a High-Value Global B2B Network with Oracle SOA Suite 11g


Come visit us at OOW 2012 B2B Demo Booth!

You’re invited to visit us at the Oracle B2B Demo POD at Oracle OpenWorld and JavaOne 2012. Please stop by at our booth to see cool demos on EDI X12, EDIFACT and SBRES (used in Airlines industry). We will also be showing integration with OSB, SOA Suite and BAM. Use this opportunity to see the product in action, learn, and get answers to your questions. We will be happy to meet you and hear about your B2B integration usecases and discuss our roadmap. The demo pod will be available at the Fusion Middleware Demo POD area on Monday, October 1 through Wednesday, October 3, 2012. Look forward to seeing you there! Happy OOW 2012!
Ref: https://blogs.oracle.com/SOA/entry/come_visit_us_at_oow

Monday Dec 26, 2011

Drummond group Certification for AS2

Great news - Oracle B2B has successfully completed and passed the Drummond Certified program’s AS2-3Q11 round of software interoperability testing. The AS2-3Q11 press release which was distributed on the wire at 6:30 am Central time on Dec. 14 is posted here: http://www.drummondgroup.com/index.php/news-events/newsroom/260-drummond-group-certifies-20-new-as2-products For those not familiar with the AS2 protocol, here is a brief description from the Drummond Group’s website: "AS2 is one of the most widely recognized messaging standards for B2B e-commerce with thousands of implementations around the globe. It enables users to connect, deliver and reply to data securely and reliably, thereby delivering cost savings and providing flexibility and control on how the data is utilized. The Drummond Certified™ program provides numerous industries with a wide selection of software tested for compliance and interoperability that offers leading product features in a variety of prices"

Sunday Aug 28, 2011

Controlling the dequeuing of messages

A new feature has been introduced in B2B 11g with which the messages from JMS can be dequeued in a controlled fashion.

The use case is to achieve the outbound message throttling. For example, if there is an outage and for some reason the JMS queue is holding a big volume of messages, then there needs a way to process these messages in a controlled way rather than bombarding the B2B infrastructure with a huge pileup.

This feature enables users to configure the # of messages to be picked per poll and a polling interval and as of now this feature is available for JMS transports only.

Configuration details:

Go to "Transport Protocol Parameters" for JMS transport protocol and set the following parameters:

- Message Count
- Polling Interval

If Message Count is 100 and polling interval is 10, then B2B picks 100 messages, sleeps for 10 milliseconds and picks the next 100 messages so on and so forth.

With this feature, you can ensure the controlled processing of high volume messages in B2B.

Monday May 30, 2011

Implementing Oracle B2B 11g as a Hub

It has been discussed a number of times on OTN Oracle B2BForum that how Oracle B2B can be used as a HUB but there was no out-of-box solution available in 10g release. Understanding the importance of this requirement, Oracle B2B Product Development team have come up with an out-of-box solution in Oracle B2B 11gR1. Now Oracle B2B 11g can act as a hub without any additional configuration. In this blog post I will walk you through that how Oracle B2B 11g can be implemented as a hub and how actually it works.

In this example implementation, I will use three trading partners –

a)      OracleServices – This is the host trading partner and it will act as a hub
b)      MarketInc – This TP will send HL7 ADT_A01 document to a trading partner RetailInc through trading partner OracleServices
c)       RetailInc – This TP will receive the HL7 ADT_A01 document sent by MarketInc through OracleServices

So actually the message flow, which we will be implementing in this blog is –

MarketInc  <--- ADT_A01 ----> OracleServices (HUB) <--- ADT_A01 ----> RetailInc

Though the above flow demonstrates that MarketInc is sending the ADT to OracleServices but actually in it’s technical implementation, MarketInc will assume that flow is like –

MarketInc <----------------> RetailInc

So at MarketInc’s B2B server, the agreement(s) will be configured between MarketInc and RetailInc but channel location will be the one on which OracleServices B2B is listening for messages from partners.

Now to start with implementation, first of all create the HL7 document on Oracle B2B console –

As you can see in above picture, I have created two document definitions –
  1. ADT_A01_Def
  2. ACK_A01-Def
There is no specific configuration required in document definition creation. It is same as what you do while creating document for one-to-one communication.
After creating document, let’s configure the trading partners. Go to the “Documents” tab of remote TP “MarketInc” and add the created document definitions as below -

As you can see, we have configured MarketInc as sender of ADT and receiver of ACK. Similarly, configure RetailInc  as receiver of ADT and sender of ACK –

Now after adding documents, configure the channels and add the identifiers in trading partner profiles. Again it is a common task so I am not showing it up here.

Now we will configure the agreements. First of all configure two agreements with MarketInc, each for ADT (Inbound) and ACK (Outbound). Then similarly configure two agreements with RetailInc, each for ADT (Outbound) and ACK (Inbound).

Once agreements are created, just save, validate and deploy those. Now you are ready to test your configuration.

To start and test the message flow, drop an ADT_A01 message into external listening channel directory of OracleServices. Once it gets removed from there just go to Oracle B2B reports and verify that –
  1. Incoming ADT from MarketInc has been processed successfully
  2. An ACK for incoming ADT has been posted back to MarketInc
  3. The same ADT has been passed to RetailInc
Note :- If RetailInc is also configured then you may see an ACK back from RetailInc as well.

So now you are done with implementation. 

How exactly it works: It just tries to identify the intended recipient (ToTP) for the incoming message. If it is not the host trading partner for which the message has been sent then it just tries to find an outbound agreement with intended recipient and if found one, then it posts the same message to that TP. 

You may download the configuration which I created for this example implementation, from here.  Make sure to change the channel end-point configuration if you are using this configuration. You can also download the sample ADT message which I used to start and test the message flow, from here.

Now go ahead and experiment more with it. If you have any queries related to this implementation, please feel free to post them in OTN Oracle B2B forum

Thursday Nov 25, 2010

Roles in Oracle B2B

[Read More]

Monday Nov 08, 2010

Document Provisioning - way towards Onboarding Trading partner?

[Read More]

Thursday Sep 23, 2010

B2B Sessions i attended in OOW

[Read More]

Friday Sep 17, 2010

B2B Session in OOW 2010

[Read More]

Monday Sep 06, 2010

Security in Trading partner Integration - OOW 2010

[Read More]

Thursday Jul 08, 2010

B2B Configuration : Various Flavours of Import

[Read More]

Tuesday Jun 29, 2010

OSB - B2B Integration - EDIFACT

Usecase 1: OSB to use B2B for translating the EDIFACT XML document to native using the translation webservice exposed by B2B .


B2B Configuration


Oracle B2B 11g PS2 release has exposed webservices to translate XML document to Native document. This service needs an outbound agreement in B2B configured with appropriate document  targeted for a specific trading partner.


For e.g FromTP - MarketInc,  and toTP -OracleServices ( these value has to be updated in OSB configuration - File-In ProxyService). From EDIFACT XML document, we can identify the document type and document revision.  These details used to identify the agreement in B2B.


B2B translation webservice can be used in two modes, one for only translation and another for translation and routing.


OSB-B2B integration sample are developed based on the B2B sample "b2b-003-EDIFACT" in OTN, which deals with the creation/management of B2B configuration in detail.


Path structure:






OSB Configuration


Steps to create OSB Configuration sample:

1.       Create a OSB Project with name OSB-B2B

2.       Create BusinessService with name B2BBusinessService to consume B2B TranslateService

URL http://<host:8001>/b2b/services/ TranslateService



3.       Create BusinessService with name File_Out

Property Name




Provider id







4.       Create ProxyService with name local_Proxy with following properties

Property Name






Provider id



5.       Add Rout node for local_Proxy

6.       Add Service Callout to Rout node to wire OSB-B2B/File_Out

7.       Create ProxyService with name File_in  with following properties

Property Name






Binding type




Provider id









8.       Add pipeline pair

9.       In request pipeline pair create following assign actions


XQuery Text










<![CDATA[<b2b:TranslateRequest xmlns:b2b="http://xmlns.oracle.com/integration/b2b">


    <b2b:from type="Name">{$from}</b2b:from>


    <b2b:to type="Name">{$to}</b2b:to>










&lt;soap:Body xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">




10.    In response pipeline pair create following assign actions

Property Name





11.    In response pipeline pair create following sevice callout with Service reference "B2B-OSB/local proxy"

Property Name










12.       Add route node for File_in  with  Service reference "B2B-OSB/B2BBusinessService" and select operation "Translate"








13.       File_in ProxyService









14.       OSB project elements








Usecase 2: B2B webservice used for translation and routing as well.


For translation and routing, OSB is required to create the BusinessService using the URL.




Useful Links:

OTN B2B website

B2B Samples in OTN


Same approach can be used for B2B-OSB integration for a healthcare scenario. This is one way of integrating B2B translation service with OSB. Refer for more details in OTN B2B website .

[Read More]

To Discover and discuss the capability of B2B in the world of Trading Partner Integration. This blog is primarily intended to share thoughts on Oracle B2B Product and to share best practices in performance, scalability and various topologies.


« June 2016