Loopback

You use the Loopback utility to automatically generate a loopback agreement that is a mirror copy of a home-to-partner agreement. This lets you perform home-to-partner and partner-to-home message exchanges on a single computer. You can use this utility for a scenario with 0A1 messages or a scenario without 0A1 messages. You can create a loopback agreement for an action-message (non-0A1) agreement or a 0A1 agreement.

You can also use the utility to enlist or unenlist a home organization for a sender role. When you use the utility to enable a home organization, it creates two send ports, <Home>.Async and <Home>.Sync, that the organization uses to communicate with their partner.

Location in SDK

<drive>\ Program Files (x86)\Microsoft BizTalk <version> Accelerator for RosettaNet\SDK\

Running Loopback

To run Loopback

  1. Open a command prompt.

  2. Move to <drive>\ Program Files (x86)\Microsoft BizTalk <version> Accelerator for RosettaNet\SDK\.

  3. At the command prompt, type Loopback, type the required and appropriate switches, and then press ENTER.

Syntax for Loopback

The following shows the syntax that you use to start this command-line utility:

Loopback [/enable|/disable <home_organization>] [/mirror|/unmirror <agreement_name>] [/NoF <0A1_agreement>]  

Syntax Description

The following table describes each part of the syntax that the Loopback utility uses.

Syntax Description
enable Enlists the organization designated in <home_organization> for a sender role. It creates two send ports, <Home>.Async and <Home>.Sync, that the partner uses to communicate back to the home organization.
disable Unenlists the home organization for a sender role.
home_organization The partner to be enlisted or unenlisted for a sender role.
mirror Creates a loopback agreement based on the agreement designated in <agreement_name>.
unmirror Deletes the loopback agreement based on the agreement designated in <agreement_name>.
agreement_name The agreement to mirror or unmirror in the loopback scenario.
NoF Sets the 0A1 agreement property of the action-message agreement mirrored by the Loopback utility to <0A1_agreement>. A /NoF switch can only be added to a Loopback command that also contains a /mirror switch.
0A1_agreement A 0A1 agreement to be used by the mirror agreement of agreement_name. This agreement is generated by mirroring a responder 0A1 agreement.

Remarks

The Loopback utility switches the roles in creating the loopback agreement. If an organization was the home organization in the original agreement, the utility makes it the partner organization in the loopback agreement. Similarly, if an organization was the partner organization in the original agreement, the utility makes it the home organization in the loopback agreement. The utility also switches the setting of the Home role property. If the Home role property was the initiator in the original agreement, the utility makes it the responder, and vice versa. All other properties remain the same.

The Loopback utility names the loopback agreement with the same name as the original agreement, preceded by "loopback:". To avoid confusion, do not name an agreement starting with "loopback".

If you run the utility on an agreement for which you have already generated a loopback agreement, the utility unmirrors the existing loopback agreement, and creates a new loopback agreement.

You need the Loopback utility because you cannot create a mirrored agreement in the BTARN Management Console. You cannot create an agreement in the BTARN Management Console for which the home organization, partner organization, and home role properties are reversed, and all other fields are identical to the fields of an existing agreement. Similarly, BTARN does not support changing the loopback agreement directly in the Console. You will receive an error if you try to open a loopback agreement in the Console. If you have to make any change to the loopback agreement, change the originating agreement and then run the Loopback utility on it again to regenerate the loopback agreement.

Important

The loopback scenario does not support signed agreements. In this scenario, a signed message will fail validation, because BizTalk Server lets you configure only one party with a signing certificate. A home organization and a partner organization cannot use the same signing certificate. This is a limitation in BizTalk Server related to uniquely identifying a party by using a signing certificate. Therefore, no two BizTalk parties can share the same certificate.

For more information about the loopback implementation, see Loopback Tutorial.

Using Loopback with 0A1 Agreements

You can configure a loopback scenario to generate 0A1 (failure notification) messages. To do this, you must create the following agreements for the home organization: a request action-message agreement, an initiator 0A1 agreement, and a responder 0A1 agreement. You must then run the Loopback utility on each of these agreements to create the following agreements for the partner organization: a response action-message agreement, an initiator 0A1 agreement, and a responder 0A1 agreement. This is required because you cannot use the BTARN Management Console to create these agreements.

The complete set of agreements must include agreements for the following messages. For illustration, the action message is a 3A4:

  • A Home_to_Partner_3A4 (action message) agreement. An agreement to initiate the action message PIP from the HOME organization to the PARTNER organization.

  • Home_to_Partner_Initiator_0A1 agreement. An agreement to initiate a PIP 0A1 from the HOME organization to the PARTNER organization.

  • Home_to_Partner_Responder_0A1 agreement. An agreement to receive a PIP 0A1 from the PARTNER organization to the HOME organization.

  • Loopback:Home_to_Partner_3A4 (response message) agreement. An agreement to receive a PIP 3A4 from the HOME organization to the PARTNER organization.

  • Loopback:Home_to_Partner_Responder_0A1 agreement. An agreement to initiate a PIP 0A1 from the PARTNER organization to the HOME organization.

  • Loopback:Home_to_Partner_Initiator_0A1. An agreement to receive a PIP 0A1 from the HOME organization to the PARTNER organization.

Creating the Loopback Agreements for 0A1 Messages

To create the full set of agreements, you must use the Loopback utility to create the action-message and 0A1 agreements on the partner. The following tables show the Loopback operations required to generate the partner loopback agreements. For illustration, this topic uses a 3A4 message in the tables.

Step HOME Agreements
1, 4 Home_to_Partner_3A4

Home Org: HOME

Partner Org: PARTNER

Home Org Role: Initiator

0A1 agreement: Home_to_Partner_Initiator_0A1

Description: Agreement to initiate PIP 3A4 from HOME to PARTNER
2 Home_to_Partner_Initiator_0A1

Home: Home

Partner: Partner

Role: Initiator

Description: Agreement to initiate PIP 0A1 from HOME to PARTNER
3 Home_to_Partner_Responder_0A1

Home: Home

Partner: Partner

Role: Responder

Description: Agreement to receive PIP 0A1 from PARTNER to HOME
Step PARTNER Agreements (Mirrored using Loopback.exe)
7 Loopback:Home_to_Partner_3A4

Home: Partner

Partner: Home

Role: Responder

0A1 agreement: Loopback:Home_to_Partner_Responder_0A1

Description: Agreement to receive PIP 3A4 from HOME to PARTNER

Loopback Command to Create it: Loopback /mirror Home_to_Partner_3A4 /NoF Loopback:Home_to_Partner_Responder_0A1
5 Loopback:Home_to_Partner_Responder_0A1

Home: Partner

Partner: Home

Role: Initiator

Description: Agreement to initiate PIP 0A1 from PARTNER to HOME

Loopback Command to Create it: Loopback /mirror Home_to_Partner_Responder_0A1
6 Loopback:Home_to_Partner_Initiator_0A1

Home: Partner

Partner: Home

Role: Responder

Description: Agreement to receive PIP 0A1 from HOME to PARTNER

Loopback Command to Create it: Loopback /mirror Home_to_Partner_Initiator_0A1

Run the Loopback commands in these tables as part of the following procedure.

To create the agreements for a loopback scenario using 0A1 messages

  1. In the BTARN Management Console, create an agreement for the request action message to be sent by the home organization.

  2. Create an agreement for the initiator 0A1 message to be sent by the home organization, and do the following:

    Use this To do this
    My organization Set to the home organization.
    Partner organization Set to the partner.
    Home role Set to PIP Failure Notifier (Initiator).
  3. Using BTARN Management Console, create an agreement for the responder 0A1 message to be sent to the home organization, and do the following:

    Use this To do this
    My organization Set to the home organization.
    Partner organization Set to the partner.
    Home role Set to Failure Report Administrator (Responder).
  4. Using BTARN Management Console, set the 0A1 agreement property for the home organization's request action-message agreement to the name of the initiator 0A1 agreement for the home organization.

  5. Using the Loopback utility, create an agreement for the initiator 0A1 message to be sent by the partner organization. You do this by mirroring the responder 0A1 agreement for the home organization. This creates a new 0A1 agreement with the name loopback:<0A1 agreement name>. The My organization property is set to the partner, the Partner organization property is set to the home organization, and the Home role property is PIP Failure Notifier (Initiator).

  6. Using the Loopback utility, create an agreement for the responder 0A1 message for the partner organization. You do this by mirroring the 0A1 initiator agreement for the home organization. This creates a new 0A1 agreement with the name loopback:<0A1 agreement name>. The My organization property is set to the partner, the Partner organization property is set to the home organization, and the Home role property is Failure Report Administrator (Responder).

  7. Using the Loopback utility, create an agreement for the response action message for the partner organization. In the same command, you must set the 0A1 agreement property to the responder 0A1 agreement for the partner. You do this by mirroring the request action-message agreement for the home organization, and using the /NoF switch with the name of the partner's responder 0A1 agreement. This creates a new response action-message agreement with the name Loopback:<agreement name>. The My organization property is set to the partner, and the 0A1 agreement property is set to the partner's responder 0A1 agreement.

See Also

Utilities
Loopback Tutorial