Print Page

Thursday, May 29, 2008

Steps to configure and test the Dynamic Email feature of Oracle AS B2B

  1. Import the tutorial samples of ( for e.g:EDIFACT ) of in 2 environments for Acme and GlobalChips
  2. Provide a new delivery channel detail and create the agreement for both Acme and GlobalChips
    1. In the delivery channel provide the endpoint of the IMAP Server.
    2. Provide the username/password (e.g.: user1/user1)

Scenario 1:

This is the normal scenario, where in (Acme) will send a message to (GlobalChips)

When observed in the log/the email client, we can see the message in the inbox of User2

Scenario 2:

Enable the actionName attribute to test the dynamic email scenario.
actionName =;EmailSubject:UNB

In this case, edit endpoint details to point to another email id and change the username/password.

When observed in the log/the email client, we can see the message in the inbox of User3. Though the in the acme machine, the configuration for GlobalChips is reading user2, due to the dynamic email feature, the mail gets delivered to user3. Ideally, this can be well tested if we have 3 environments for each user.

Sample enqueue script:

queue = IP_OUT_QUEUE
replyToMsgID =
from = Acme
to = GlobalChips
#actionName =;EmailSubject:UNB
#eventName = Process_ORDERS
doctypeName = ORDERS
doctypeRevision = D98A
payload = Acme_orders.xml
attachment =

In the above enqueue script, the actionName has 2 pieces.

o DynamicEmail

In this case, the message gets delivered to the email address specified in the properties

o EmailSubject

The value of EmailSubject is “UNB”. In this case, the email subject will contain the UNB segment of the EDIFACT Message. If the "EmailSubject" has the value other than "UNB", then that string itself will be considered as the subject.

Note: The Dynamic email attribute does not require any additional configuration.

IMAP Server Setting:

Install any free IMAP email servers.

Create 3 users (e.g :,, )

Friday, May 9, 2008

Time to perform /Time to Acknowledge

Time to perform : Time to perform is an important concept in Rosettanet implemented by Oracle B2B to define the timeout of a collaboration . It can be defined in the transaction level or collaboration level. It is defined as the time in minutes to perform or complete the transaction. If there is a failure to complete the collaboration with in the specified time, then b2b errors out the collaboration. This configuration can be seen as part of defining Transaction or collaboration.

This value can be overridden specific to Trading Partner.

Time to Acknowledgement : This defines the time with in which the Acknowledgment message must be received. If an Acknowledgment message is not received then B2B retries based on the retry count and failure in getting the Acknowledgment results in error.

Oracle AS B2B FTPS setup

1. Create a self signed host certificate.

2. Import the host certificate into the wallet. Import the Trading partner certificate for FTP over SSL as a trusted certificate.

3. In the General Tab of host Trading partner , create the wallet password.

4. Point the wallet in the

FTP Delivery channel Setup ( Generic Over FTP)

5. Depending on the mode of data transfer i.e Active/Passive , specify the data port for Active configuration and no data port for passive mode. Control port is there for both the mode and by default B2B considers this to be 21, there is a need to
mention it for any deviation.

6. Receiver Channel Mask (Host) : Depending on whether No channel encrypted, data channel to be encrypted , Control Channel to be encrypted or Both control and Data channel to be encrypted specity none, Data, Control or Both accordingly.

7. Sender Channel Mask (Trading Partner) : Depending on whether No channel enrypted, data channel to be encrypted , Control Channel to be encrypted or Both control and Data channel to be encrypted specity none, Data, Control or Both accordingly.

1. "sender channel mask" - used only when B2B send files to ftp server. The value "Both" means both channels "Control" and "Data" would be encrypted.
2. "receiver channel mask" - used only when B2B pick files from ftp server. The value "Both" means both channels "Control" and "Data" would be encrypted.
3. The other possible values what yopu provide here are "None", "Control" and "Data". Hope, the values are pretty self explanatory.

FTPS Server Configuration. Download a FTPS server such as Filezilla and follow the below steps.

1. Create a 1024 bit certificate and point to the same.
2. Create a user and/or group with permissions to a folder.
3. Download FTPS client , and connect to the FTP server , accept the certificate after the first connection.
4. Exchange the messages.

Oracle AS B2B DMZ setup

Instructions to setup and access B2B via DMZ.

This configuration is assumed to install B2B with in the firewall and standalone OHS in the DMZ and to obtain the firewall clearence for the Following port.

1. HTTP Port of OHS which sits in DMZ
2. HTTP Port of B2B which is with in the firewall.

Append the following lines to LoadModule section of standalone OHS
httpd.conf file

LoadModule proxy_module modules/ (If it is already there then not required)
LoadModule proxy_http_module modules/

Add following lines to end of standalone Apache2.0 httpd.conf file

ProxyPass / http://:/
ProxyPassReverse / http://:/)

To work above configuration, HTTP port on which B2B listens should be opened on internal firewall.

Testing of DMZ setup
Restart standalone Apache 2.0
Invoke the following URL from any machine in DMZ using browser

Above request initially goes to DMZ Apache and we have configured Apache to forward the request to B2B instance in intranet.It should display the
'transportServlet' parameters if everything goes well.

Above testing confirms that request is being passed from DMZ layer to Intranet layer but not from outside world to Intranet layer.

Testing from outside public network
Configure external firewall to accept the data for DMZ standalone Apache HTTP port.
Use the URL http://:/b2b/transportServlet
It should display the 'B2B server' parameters if everything goes well.

DMZ setup with load balancer
Optionally you can configure Load balancer like 'BigIP' on external firewall to route the requests to DMZ layer.If you have DMZ layer front ended by load balancer then configure the load balancer to communicate with standalone HTTP server in DMZ.
In this case we expose the URL http://:/b2b/transportServlet to outside world to communicate with B2B .

Proxy configuration for B2B
If you want to configure B2B to use proxy for all outgoing messages then read below.
Proxy server information needs to be provided in opmn.xml file of B2B midtier.

1) look for tag in opmn.xml
2) then look for tag 3) with in that tag make sure we should have
4) look for tag
5) then look for tag
6) with in that tag make sure we should have

In the above tag we also have some additional security attributes keep them as they are.

Now restart B2B and oc4j_b2b components or all components.

Refer the following documents for various High availability questions.