Configure EDI Send bridge settings in BizTalk Services Portal

 

Important

Microsoft Azure BizTalk Services (MABS) is being retired, and replaced with Azure Logic Apps. If you currently use MABS, then Move from BizTalk Services to Logic Appsprovides some guidance on moving your integration solutions to Logic Apps.

If you're brand new to Logic Apps, then we suggest getting started here:

Configure the EDI Send Bridge settings in the BizTalk Services portal.

The EDI send bridge configuration includes settings such as the endpoint where EDI messages must be sent, any transforms to use while processing the message, and transport settings.

Configure the Inbound URL

The inbound URL determines the input endpoint URL to send messages to the EDI send bridge. You can also use this page to promote properties from the incoming SOAP or HTTP message headers; which can be later used for batching configuration.

  1. On the Inbound URL page of the Send Settings tab, the Endpoint URL is automatically populated with the address used to input messages to the send pipeline. You can only edit the GUID in the URL and provide a unique value. A message sent to this URL is processed by the bridge and then sent to the guest trading partner.

  2. Expand Promoted Properties and then select the (+) sign to promote a property. The following table details the required fields and the values:

    Field

    Description

    Source Type

    Select the message type from which the header values are extracted. For assigning header values to properties, the possible values are SOAP and HTTP.

    Property Name

    Enter the name of the property that you are defining. For example, you can set this to MsgType.

    Identifier

    Enter the name of property present in the message header, the value of which you want to extract and assign to a property that you are defining. You can also promote the value of custom header properties. For example, in the following excerpt, MessageType is a custom header.

    DELTED CODE

    So, if you set the Identifier property MessageType, then the value of the header from the incoming message is extracted and is assigned to the MsgType property that you are defining as part of the agreement.

    Namespace

    Specify the SOAP header namespace. Going by the excerpt used above, the namespace for the MessageType custom header is highlighted.

    DELTED CODE

    You do not need to provide a namespace if you are promoting a property from an HTTP message header.

Configure the Transform

On the Transform page, you can do the following:

  • Upload an existing Transform to map the incoming message to another message structure. See Create a Transform or Map to create a Transform.

  • If the Transform uses a C# Scripting Map Operation, then you can upload the required assemblies as part of the agreement.

  • Finally, you can promote properties on the incoming message based on XPath and Lookup queries.

Add a transform

  1. If a transform is already uploaded to your BizTalk Services subscription, then select (+), and select the Transform from the drop-down.

    If the Transform is not already uploaded, then:

    1. Select Upload and browse for the Transform to use.

    2. In the Open dialog box, select the Transform file, and select Open. Transform files are saved with a .trfm extension.

    3. The selected Transform is added to the list of Transforms.

  2. If the Transform you uploaded includes a scripting Map Operation, expand the Assembly section, and select Upload to browse to upload the assembly required for the scripting Map Operation.

Add an assembly

If the Transform you are using includes an external file assembly (.dll), upload it to the BizTalk Services subscription.

  1. Expand the Assembly section.

  2. Select Upload to browse to the .dll assembly.

Promote a Property

Expand the Promoted Properties section. The following options are available:

Promote a property using XPath queries

  1. On the Transforms page, expand the XPath section.

  2. For the Property Name field, enter the name of the property that you are defining. The value of this property is set to the value that is extracted from the message body using the XPath query.

  3. For the Schema field, from the drop-down select the schema for the incoming message. If the schema is not already available, you can upload it using the Upload button.

  4. For the XPath field, specify the XPath query to extract an element or an attribute from a message. A typical XPath query would look like the following:

    /*[local-name()='<root_node>' and namespace-uri()='<namespace>']/*[local-name()='<node_name>' and namespace-uri()=<namespace>']/*@[local-name()='<attribute_name>' and namespace-uri()='<namespace>']
    

    Tip

    You can get an XPath query from the schema editor. In the Schema Editor available as part of the BizTalk Service project, select the schema element for which you want the XPath querty, and in the Properties window look for the value of the Instance Xpath property. That should be the XPath query for the node.

Promote a property using Lookup

  1. On the Transforms page, expand the Lookup section.

  2. For the Property Name field, enter the name of the property that you are defining. The value of this property is set to the value that is extracted using the lookup configuration you are defining.

  3. For the Connection URL field, provide a valid connection URL to connect to a Microsoft Azure SQL Database.

  4. For the Table Name field, enter the Microsoft Azure SQL Database table name from which you want to do a data lookup.

  5. For the Query Out Column field, enter a column name in the Microsoft Azure SQL Database table, the value of which is the output value that is eventually assigned to the looked up property.

  6. For the Query In Column field, enter a column name in the Microsoft Azure SQL Database table, the values of which are used as the input query for performing the data lookup.

  7. From the Input Property drop-down list, select a property that you must have already defined. The value of this property is passed on to the Query In Column specified earlier.

Let us now understand how the lookup configuration is used at run-time. To understand this better, let us assume a table (TempTable) exists in Microsoft Azure SQL Database. This table has two columns, PurchaseOrder and CustomerName. Let us also assume that you already promoted a property called P1 as part of the agreement.

PropertyName

P2. This is the property that will contain the value promoted using a lookup configuration.

TableName

TempTable

Query In Column

PurchaseOrder

Query Out Column

CustomerName

Input Query

P1. You could have promoted this property earlier either using XPath or from the SOAP or HTTP message header. Let us assume the value of P1, at runtime, is set to PO1234.

This is how the configuration is used:

  • The agreement looks up the value of P1 (PO1234) in the input query column (PurchaseOrder) in the table (TempTable).

  • The agreement then picks up the value corresponding to PO1234 from the output query column (CustomerName) in the TempTable.

  • The value picked up from the output query column is assigned to the property P2. For example, if the customer name corresponding to purchase order PO1234 is John, then the value of P2 is set to John.

Configure the transport

On this page, you enter the transport settings used for sending messages from the hosting partner to the guest partner. If the hosted partner requests an acknowledgement, the acknowledgement is received by the hosting partner based on the settings configured in the Receive Settings tab. You can do the following on the Transport tab:

  • Set route conditions/rules based on which messages are routed to destination endpoints.

  • Set route actions. Route actions can be used to include specific message headers (for SOAP and HTTP) before the message is sent to the destination endpoint.

  • Set route destinations for messages that are successfully processed or get suspended.

  • Set message suspensions settings for routing a suspended message to a BizTalk Services bridge, Azure Blobs, or Azure Service Bus.

Transport Settings

  1. On the Route page of the Receive Settings tab, expand Route Settings, and then click Add.

  2. In the dialog box that pops us, you specify three key routing configurations – routing condition, routing action, and routing destination.

    1. Specify a unique name for the routing rule.

    2. Route Rule: Specify the routing condition based on the properties you promoted earlier. You can either use the grid to specify the condition or provide a SQL 92 filter expression that specifies the condition. To understand this better, let us assume you promoted a property (CustName) whose value is set to John at runtime. To use this property as a routing condition, you can do either of the following:

      • Select the option for the grid, and then click the (+) icon to select the property you promoted. From the grid, select CustName, specify the Operation as (==), and set the value to John.

        OR

      • Select the Use advanced definitions option, and specify a SQL 92 expression, such as:

        CustName == ‘John’
        

        You can use this option to provide more detailed query expressions using other operators as well.

    3. Route action: If the route condition is met, at runtime the agreement stamps message headers based on the route actions you specify here. Under Route action, click the (+) icon, and specify the following values.

      Field Name

      Description

      Target Type

      Set this to SOAP or HTTP.

      Header

      Specifies the name of message header property to which a value will be assigned. You can also specify custom headers here.

      Namespace

      Specify the namespace of the SOAP header to which the value will be assigned. This field is disabled if you set the Target Type to HTTP.

      Value Type

      Select Constant if you want to assign a constant value to the header property. Select PromotedProperty if you want to the value of a promoted property to the header property.

      Constant Value

      If you set Value Type to Constant, specify the constant value that must be assigned to the message header property.

      Promoted Property

      If you set Value Type to PromotedProperty, selected the property whose value is assigned to the message header property.

    4. Route destination: Specify the destination where the messages are routed once they are processed by the agreement:

      Note

      Even if you do not specify a routing condition and a routing action, you must specify a routing destination.

      Azure BizTalk Bridge

      Enter the name of the bridge to route the message.

      The URL looks similar to the following:

      https://YourDeployment.biztalk.windows.net/default/BridgeName

      Azure Blobs

      Enter the Shared Access Signature URL to your Azure Blob. For example, enter:

      https://myAccount.blob.core.windows.net/ContainerName/BlobNamePolicyIndentifierSignature

      Managing Access to Containers, Blobs, Tables, and Queues provides more information on the Shared Access Signature URL.

      Azure Service Bus

      You can route to any of the following Service Bus entities.

      Queue

      Provide either the Shared Access Signature (SAS) or the shared secret for the queue.

      • If you choose the SAS option, provide the SAS connection string and the name of the queue to route to.

      • If you choose the shared secret name, provide the URL for the queue, Service Bus issuer name, and Service Bus issuer key.

      Topic

      Provide either the Shared Access Signature (SAS) or the shared secret for the topic.

      • If you choose the SAS option, provide the SAS connection string and the name of the topic to route to.

      • If you choose the shared secret name, provide the URL for the topic, Service Bus issuer name, and Service Bus issuer key.

      BasicHttpRelay

      Provide the URL for the relay endpoint, the Service Bus issuer name, and the Service Bus issuer key.

      WebHttpRelay

      Provide the URL for the relay endpoint, the Service Bus issuer name, and the Service Bus issuer key.

      NetTcpRelay

      Provide the URL for the relay endpoint, the Service Bus issuer name, and the Service Bus issuer key.

      Important

      If you choose to route to a Service Bus relay endpoint, make sure the relay endpoint hosts a two-way relay service. You cannot use EDI pipelines to route to a one-way relay service.

      FTP/S

      Provide the following values to route to an FTP server:

      FTP Receive Setting

      Description

      FTP server address

      Required. The FTP server address that contains the messages. The BizTalk Services Portal looks for new messages dropped to a file location this server.

      Port number

      This setting determines what port the FTP server is configured to use. The default port is port 21.

      Username

      If the FTP server requires authentication, enter the username that the BizTalk Services Portal uses to connect to a file location on the FTP server.

      Password

      Enter the password for the username.

      Confirm password

      Re-enter the username password for the FTP server.

      Relative path

      The relative path indicates the file location on the FTP server where the BizTalk Services Portal looks for messages. For example, enter FTPIn

      Warning

      Do not include a backslash (\) in the relative path. You must only provide the folder name where the message is received from.

      File mask

      Enter a file mask to identify the message files on the FTP server.

      Transfer mode

      Choose whether messages are transferred from the server using BINARY or ASCII transfer mode. Always use BINARY if the messages are encrypted on the FTP server.

      Use SSL

      Select this check box to use SSL when communicating with the FTP server.

      **SFTP**

      SFTP Receive Setting

      Description

      SFTP server address

      Required. The SFTP server address that contains the messages. The BizTalk Services Portal looks for new messages dropped to a file location this server.

      Port number

      Specifies the port used for communication. The default port is port 22.

      Username

      If the SFTP server requires authentication, enter the username that the BizTalk Services Portal uses to connect to a location on the SFTP server.

      Password

      Enter the password for the username.

      Confirm password

      Re-enter the username password for the SFTP server.

      Relative path

      The relative path indicates the file location on the SFTP server where the BizTalk Services Portal looks for messages. For example, enter FTPIn

          > [!WARNING]
          > <P>Do not include a backslash (\) in the relative path. You must only provide the folder name where the message is received from.</P>
      
      5. Click **Save** to save the route settings.
          > [!NOTE]
          > <P>If more than one route rules are defined, evaluation is based on the first match. The order of executing the rules is defined by the order in which the rules are defined in the grid.</P>
      

      Message Suspension Settings

      Any messages that fail processing can be routed to various endpoints as well. The following table provides the where failed messages can be routed to:

      Azure BizTalk Bridge

      Enter the name of the bridge to route the message.

      The URL looks similar to the following:

      https://YourDeployment.biztalk.windows.net/default/BridgeName

      Azure Blobs

      Enter the Shared Access Signature URL to your Azure Blob. For example, enter:

      https://myAccount.blob.core.windows.net/ContainerName/BlobName PolicyIndentifier  Signature

      Managing Access to Containers, Blobs, Tables, and Queues provides more information on the Shared Access Signature URL.

      Azure Service Bus

      You can route to any of the following Service Bus entities.

      Queue

      Provide either the Shared Access Signature (SAS) or the shared secret for the queue.

      • If you choose the SAS option, provide the SAS connection string and the name of the queue to route to.

      • If you choose the shared secret name, provide the URL for the queue, Service Bus issuer name, and Service Bus issuer key.

      Topic

      Provide either the Shared Access Signature (SAS) or the shared secret for the topic.

      • If you choose the SAS option, provide the SAS connection string and the name of the topic to route to.

      • If you choose the shared secret name, provide the URL for the topic, Service Bus issuer name, and Service Bus issuer key.

      BasicHttpRelay

      Provide the URL for the relay endpoint, the Service Bus issuer name, and the Service Bus issuer key.

      WebHttpRelay

      Provide the URL for the relay endpoint, the Service Bus issuer name, and the Service Bus issuer key.

      NetTcpRelay

      Provide the URL for the relay endpoint, the Service Bus issuer name, and the Service Bus issuer key.

      Important

      If you choose to route to a Service Bus relay endpoint, make sure the relay endpoint hosts a two-way relay service. You cannot use EDI pipelines to route to a one-way relay service.

      Finally, click Deploy to deploy the bridge.

      See Also

      Create an EDI bridge using BizTalk Services Portal