Microsoft BizTalk Server 2013 FileAct and InterAct Adapters Help

Welcome to Microsoft BizTalk 2013 FileAct and InterAct Adapters Help, which includes information that can help you understand and use the FileAct and InterAct adapters.

In This Section

  • Getting Started with the FileAct and InterAct Adapters

  • Understanding FileAct and InterAct Adapter Architecture

© 2013 Microsoft Corporation. All rights reserved.


Getting Started with the FileAct and InterAct Adapters

The Society for Worldwide Interbank Financial Telecommunication (SWIFT) supplies secure messaging services and interface software to wholesale financial entities.

SWIFTNet is a global financial messaging network for secure connectivity between institutions participating in the financial services industry.

The FileAct and InterAct adapters for SWIFTNet provide connectivity between BizTalk Server and the SWIFT Secure IP Network (SIPN) for the transfer of files.

The SIPN transfers messages and files over a secure private network which interconnects financial institutions, financial industry infrastructures, and customers.

The FileAct and InterAct adapters use the SWIFTNet Link (SNL) application programming interface (APIs) to connect to the SIPN.

In This Section

  • What Is SWIFTNet?

  • What Is the FileAct Adapter?

  • What Is the InterAct Adapter?

  • Accessibility for People with Disabilities

  • BizTalk 2013 FileAct and InterAct Adapters End-to-End Tutorial


What Is SWIFTNet?

As a general purpose, industry-standard solution for the financial industry, SWIFTNet provides an application-independent, single window interface to all the connected applications of all the institutions participating in the global financial community. Actual access is controlled by the business policy decisions of each Service Administrator, not by the technical limitations of the infrastructure.

SWIFTNet provides a basis for assuring business continuity and disaster recovery for the infrastructure of mission-critical financial applications that cross institutional boundaries. SWIFTNet is designed to satisfy institutional community requirements for interoperability of mission-critical financial software solutions.

To interconnected business applications, SWIFTNet provides the following:

  • Assurance of infrastructure reliability

  • Availability

  • Role-based and non-role-based access control

  • Correspondent and message authentication

  • Message integrity

  • Confidentiality

  • Non-repudiation support

  • Message validation

  • Store and-forward

In This Section

  • What Is SWIFTNet Link?

  • What Is the SWIFTAlliance Gateway?


What Is SWIFTNet Link?
See Also

Business software applications use the SWIFTNet Link (SNL) application programming interface (API) to access and use SWIFTNet services. The SNL is the mandatory network interface to SWIFTNet. SWIFTNet requires SNL for all external interfaces. The SNL also includes background processes that support messaging, security, and service management functions. The SNL is incorporated into SWIFTAlliance WebStation and SWIFTAlliance Gateway (SAG).

SNL establishes a loosely coupled client/server relationship between business application components. Instead of directly invoking methods or functions, the interaction is message-oriented: structured messages are passed between client and server. A business application designed for SWIFTNet services generally consists of a set of clients and servers. The same client or the same server process can be started multiple times. Note that you cannot predict to which process instance of the same application an incoming message request will be delivered. Multiple threads within a client process can invoke the SwCall API function. A server process can have multiple threads as well; however, only one thread can invoke SwCallback. Client and server processes cannot be combined in the same process.

SNL provides a set of transport-level features designed for high availability and high throughput environments. These features include:

  • Load balancing

  • Location transparency and routing, shielding application components from the underlying transport technology

  • Transport-level authentication and confidentiality, packaged within SNL and provided transparently to the application

  • Security functions by which business application software may establish end-to-end security (user application to user application), when required.

In terms of programming at the source code level using C++ or Java, there are only two functions: SwCall and SwCallback. SwCall is used by client applications to access server applications through SWIFTNet. SwCallback is used by server applications to respond to clients through SWIFTNet.

The SwCall and SwCallback functions access the functionality of SWIFTNet by passing structured XML messages to and from SWIFTNet. At run-time, SNL includes both software libraries — the code of which executes within the same address space as business application client or server processes — and independent processes (daemons or services), which run in their own address spaces. The software libraries are accessible through the SNL APIs.

See Also

Concepts

What Is the SWIFTAlliance Gateway?

Other Resources

What Is SWIFTNet?


What Is the SWIFTAlliance Gateway?

The SWIFTAlliance Gateway (SAG) is an interface product for SWIFTNet. It incorporates all the functionality of the SWIFTNet Link. Additionally, it provides several different connectivity and usability features for SWIFTNet users, providing solutions to a variety of system integration problems.

The SAG supports several different modes of operation. One of these, the strict SWIFTNet Link Mode, is particularly relevant to the FileAct and InterAct adapters for SWIFT. In strict SWIFTNet Link Mode, the SAG presents a messaging interface that is functionally equivalent to the SWIFTNet Link interface as it is described throughout this guide.

The SAG serves as a message concentrator. It receives messages from various other applications and passes them through SWIFTNet. It receives these messages through host adapters, including a WebSphere MQ host adapter, which enables business applications running on a variety of different types of computing platforms to pass messages through SWIFTNet.

See Also

Concepts

What Is SWIFTNet Link?

Other Resources

What Is SWIFTNet?


What Is the FileAct Adapter?

The FileAct adapter for SWIFTNet provides connectivity between BizTalk Server and the Society for Worldwide Interbank Financial Telecommunication (SWIFT) Secure IP Network (SIPN) for the transfer of files. The SIPN transfers messages and files over a secure private network which connects financial institutions, financial industry infrastructures, and customers. The FileAct adapter uses the SWIFTNet Link (SNL) application programming interface (API)s to connect to the SIPN.

The FileAct adapter provides a mechanism for SWIFT participants to securely and reliably exchange files and information pertaining to those files. It supports the following functionality:

  • Sending files to a SWIFTNet User

  • Retrieving files from a SWIFTNet User

  • Delivery notification confirming file receipt by a receiver

  • Abort of transfers in progress

  • File transfer state monitoring

  • Concurrent file transfers

  • Assurance of data authenticity and integrity

  • Confidentiality of file data in transit

  • Non-repudiation of file transfers

  • Time-stamping

The FileAct Service

The FileAct adapter for SWIFTNet provides secure and reliable transfer of files, such as batches of structured financial messages or large reports. Typical applications include repetitive credit transfers such as pension or salary payments, securities value-added information and reporting, and regulatory reporting. SWIFTNet FileAct offers a variety of messaging modes:

  • Store-and-forward file transfer. SWIFTNet FileAct’s store-and-forward capability removes the uncertainty and inconvenience of worrying about whether or not your correspondents are online at the time you transmit the file. The file is delivered as soon as the recipient is ready to receive it. As a result, it provides an ideal way to send files to large numbers of correspondents, some of which may be in different time zones.

  • Real-time file transfer. Real-time messaging offers a lower-cost alternative to store and forward for files that are destined for correspondents that are online at the time of transmission. As a result it is ideal for sending files to a few large correspondents or market infrastructures.

  • Real-time file retrieval. This is an interactive service typically used to retrieve files in the context of workstation-based systems and often in conjunction with SWIFTNet Browse. We will support this mode.

The optional SWIFTNet FileAct features (on a file by file basis) include:

  • Message priority. File transfers can be flagged as “Urgent” in the message, to allow for appropriate processing by your correspondents.

  • Delivery notification (real-time and store-and-forward modes). Provides confirmation that your correspondent received your file.

  • Non-repudiation of emission and reception. In case of dispute, allows SWIFT to confirm that the file transfer did take place as claimed.

The standard SWIFTNet FileAct features include SWIFTNet PKI security. SWIFTNet FileAct is secured with SWIFTNet PKI and offers message authentication and integrity control.

All messages and files exchanged on SWIFTNet undergo a common set of checks to ensure that no user can bypass the security, validation and routing rules of the platform. These checks are performed by the SWIFTAlliance Gateway (SAG) application.

See Also

Concepts

What Is the InterAct Adapter?

Other Resources

Getting Started with the FileAct and InterAct Adapters
What Is SWIFTNet?


What Is the InterAct Adapter?

The InterAct Adapter for SWIFTNet provides connectivity between BizTalk Server and the SWIFT Secure IP Network (SIPN) for the transfer of messages. The SIPN transfers messages and files over a secure private network which interconnects financial institutions, financial industry infrastructures, and customers. The InterAct adapter uses the SWIFTNet Link (SNL) application programming interface (API)s to connect to the SIPN.

SWIFTNet InterAct provides secure and reliable exchange of individual structured financial messages. SWIFT customers’ messaging requirements vary from customer to customer but also from message to message.

It supports the following functionality:

  • PKI security

  • Message validation

  • Configurable central routing

  • Message priority

  • Delivery notification for store and forward messages

  • Non-repudiation of emission and receipt.

You use the InterAct Adapter for SWIFTNet with externally supplied applications to utilize the features of InterAct. This adapter has no knowledge of the contents of the messages to be transferred, and will not audit nor validate the contents of the messages, except for the exchange primitives.

InterAct Message Exchange

SWIFTNet InterAct provides secure and reliable exchange of individual structured financial messages. SWIFT customers’ messaging requirements vary from customer to customer but also from message to message. SWIFTNet InterAct offers you a broad range of telecommunication modes:

  • Store-and-forward messaging. SWIFTNet InterAct’s store-and-forward capability is designed for messages destined for a large number of correspondents, many of whom may not be online at the time of transmission. It removes the uncertainty and inconvenience of worrying about whether or not your correspondents are on-line at the time you send the message. The message is delivered as soon as the recipient is ready to receive it. As a result, it provides an ideal way to send individual instructions, confirmations and reports to large numbers of correspondents, some of which may be in different time zones.

  • Real-time messaging. Real-time messaging offers a low-cost alternative to store and forward for messages which are destined for correspondents that are online at the time of transmission. As a result, it is ideal for sending individual instructions, confirmations and reports, to a few large correspondents or for messages to market infrastructures.

The optional SWIFTNet InterAct features (on a message by message basis) include:

  • Message priority. Messages can be flagged as “Urgent” in the message, to allow for appropriate processing by your correspondents.

  • Delivery notification (store-and-forward mode). Provides confirmation that your correspondent received your message

  • Non-repudiation of emission and reception. In case of dispute, allows SWIFT to confirm that the message exchange did take place as claimed.

The standard SWIFTNet InterAct features include SWIFTNet PKI security. SWIFTNet FileAct is secured with SWIFTNet PKI and offers message authentication and integrity control.

All messages and files exchanged on SWIFTNet undergo a common set of checks to ensure that no user can bypass the security, validation and routing rules of the platform. These checks are performed by the SWIFTAlliance Gateway (SAG) application.

See Also

Concepts

What Is the FileAct Adapter?

Other Resources

Getting Started with the FileAct and InterAct Adapters
What Is SWIFTNet?


Accessibility for People with Disabilities

Microsoft is committed to making its products easier for everyone to use. For information about accessibility options, in Windows 2000 Server online Help, in the Getting Started with Windows 2000 book, see "Accessibility for People with Disabilities." In Windows 2000 Professional online Help, see "Accessibility for Special Needs."

See Also

Other Resources

Getting Started with the FileAct and InterAct Adapters


BizTalk 2013 FileAct and InterAct Adapters End-to-End Tutorial

The Microsoft® BizTalk 2013 FileAct and InterAct Adapters End-to-End Tutorial provides specific information about how you can use BizTalk 2013 FileAct and InterAct Adapters and BizTalk Server 2013 to set up real-time and store and forward message exchange scenarios.

The BizTalk 2013 FileAct and InterAct Adapters End-To-End Tutorial provides four separate scenarios that include detailed steps in the form of tutorials for each type of solution. Before you begin these tutorials, you should understand the fundamental concepts surrounding BizTalk Server, and be familiar with the SWIFT Alliance Gateway (SAG) documentation.

The A4SWIFT end-to-end tutorial provides you with detailed steps to configure real-time and store-and-forward scenarios with both the FileAct and InterAct adapters for A4Swift. For each of the scenarios, you will do the following:

  • Configure the SWIFT adapter

  • Configure the SWIFTNet paramfile

  • Create send ports and receive ports

  • Test the scenario

In this tutorial, you will play two roles: Sender and Receiver. You will create ports that send messages and receive them.

In This Section

  • Preparing to Use the Tutorial

  • InterAct Real-Time Scenario

  • InterAct Store and Forward (Push) Scenario

  • FileAct Real-Time Scenario

  • FileAct Store and Forward Scenario


Preparing to Use the Tutorial

You must do the following before using the A4SWIFT adapter end-to-end tutorial.

  1. You will need the following SWIFT artifacts for this tutorial:

    • SWIFT Alliance Gateway (SAG) 6.1

    • Remote Access (RA) 6.1

    • SWIFT WebStation 6.0

    • SWIFTNet Link (SNL) 6.1

  2. You must configure SAG: create the MessagePartners, End Points, and Routing Rules in SAG, and test SAG connectivity on the computer where you install the adapters. For information, see the SAG documentation.

  3. Follow the instructions listed in the topic “How to Create a New Host” in Microsoft BizTalk Server Help (http://go.microsoft.com/fwlink/?LinkId=100422) to create one in-process Host for the InterAct adapter, named interacthost, and one in-process Host for the FileAct adapter, named fileacthost. You will use these hosts while creating handlers for the adapters.

  4. Create the following folders for the tutorial:

    • c:\SWIFTAdapterTutorial\Fileact\ClientLocation

    • c:\SWIFTAdapterTutorial\Fileact\FileRequestDropRealTime

    • c:\SWIFTAdapterTutorial\Fileact\ResponseClient

    • c:\SWIFTAdapterTutorial\Fileact\ResponseServer

    • c:\SWIFTAdapterTutorial\Fileact\ServerLocation

    • c:\SWIFTAdapterTutorial\Fileact\StatusEvents

    • c:\SWIFTAdapterTutorial\Fileact\PullRequest

    • c:\SWIFTAdapterTutorial\Fileact\PullResponse

    • c:\SWIFTAdapterTutorial\Interact\HandleRequest

    • c:\SWIFTAdapterTutorial\Interact\InputRequest_RealTime

    • c:\SWIFTAdapterTutorial\Interact\InputRequest_SnF

    • c:\SWIFTAdapterTutorial\Interact\Response

    • c:\SWIFTAdapterTutorial\Interact\PullRequest

    • c:\SWIFTAdapterTutorial\Interact\Pullresponse

  5. You must have a connection to SWIFT ITB or live environment to test the adapter.

See Also

Other Resources

BizTalk 2013 FileAct and InterAct Adapters End-to-End Tutorial
InterAct Real-Time Scenario
InterAct Store and Forward (Push) Scenario
FileAct Real-Time Scenario
FileAct Store and Forward Scenario


InterAct Real-Time Scenario

In this scenario, you will configure the InterAct adapter to process messages in real time. You can use in SWIFT solutions scenarios such as cash reporting. For more information, see the SWIFT Web site at http://go.microsoft.com/fwlink/?LinkId=100479.

Before you begin the steps in this section, you must complete the steps in Preparing to Use the Tutorial.

In This Section

  • Step 1: Configure the SWIFT Adapter for the InterAct Real-Time Scenario

  • Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Real-Time Scenario

  • Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario

  • Step 4: Test the InterAct Real-Time End-to-End Scenario


Step 1: Configure the SWIFT Adapter for the InterAct Real-Time Scenario

The following steps explain how to configure the send handler for the Interact adapter. Before you begin the procedure, you must complete the requirements listed in Preparing to Use the Tutorial.

To configure the SWIFT adapter

  1. Start BizTalk Server Administration.

  2. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, right-click INTERACT, point to New, and then click Send Handler.

  3. In the INTERACT – Adapter Handler Properties dialog box, on the General tab, from the Host name drop-down list, select interacthost, and then click Properties.

  4. In the INTERACTTransport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: SagMessagePartner<Interact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select FALSE.

    Note
    If you set to TRUE, it preserves the message body in the tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    False

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User Name

    Type the user name you use to connect to SAG.

  5. Click OK to close the INTERACT Transport Properties dialog box.

  6. Click OK to close the INTERACT – Adapter Handler Properties dialog box.

  7. In the message box, click OK, and then restart the Interact host instance.

See Also

Tasks

Step 1: Configure the SWIFT Adapter for the InterAct Real-Time Scenario
Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Real-Time Scenario

Other Resources

InterAct Real-Time Scenario
Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario
Step 4: Test the InterAct Real-Time End-to-End Scenario


Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Real-Time Scenario

The Server message partners created in SAG must be specified in the SWIFTNet paramfile to enable Receivers to initialize with these values. Before you begin the procedure, you must complete the instructions in Step 1: Configure the SWIFT Adapter for the InterAct Real-Time Scenario.

To add SWIFTNet configuration to the paramfile

  1. Open the paramfile in a text editor, such as Notepad.

    The paramfile is typically located at: C:\SWIFTAlliance\RA\Ra1\cfg\paramfile

  2. In the paramfile, make the highlighted change to specify the Server Message partner name:

    username:snlowner

    subsystem_name:InteractStub

    #subsystem_group:InteractRT

    #subsystem_dependency:Support,Swarm

    subsystem_nature:critical

    subsystem_start:

    spawn "snlreceiver -SagMessagePartner <Server MessagePartnerName for Interact RT > -AdapterMode Interact"

    *END

    subsystem_stop:

    *KILL9:snlreceiver

    *END

    subsystem_status:

    *NB:1:snlreceiver

    *END

    start_event:SNL001:subsystem InteractStub is up

    stop_event:SNL002:subsystem InteractStub is down

    #subsystem_name:User

    ##subsystem_group:user

    ##subsystem_dependency:

    #subsystem_nature:critical

    #subsystem_start:

    #*END

    #subsystem_stop:

    #*END

    #subsystem_status:

    #*END

    #start_event:SNL001:subsystem User is up

    #stop_event:SNL002:subsystem User is down

See Also

Tasks

Step 1: Configure the SWIFT Adapter for the InterAct Real-Time Scenario

Other Resources

InterAct Real-Time Scenario
Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario
Step 4: Test the InterAct Real-Time End-to-End Scenario


Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario

For information about BizTalk Server send and receive ports and receive locations, see the topics under “Managing Artifacts” in the BizTalk Server Help.

In This Section

  • Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario

  • Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario

  • Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario

  • Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario

  • Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario


Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario

In this step, you set up a receive location that will enable you to easily drop test files for validation. You use this location to test the scenario.

To add a FILE receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_IA_InputRequest_RealTime.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  7. In the FILE Transport Properties dialog box, in the Receive folder box, type C:\SWIFTAdapterTutorial\Interact\InputRequest_RealTime, and then click OK.

  8. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. Click OK.

See Also

Tasks

Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario
Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario
Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario

Other Resources

Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario


Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario

Before you begin this step, you must complete Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario.

To add an INTERACT receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_IA_HandleRequestOneWay_RealTime.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select INTERACT, and then click Configure.

  7. In the INTERACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User name

    Type the user name you use to connect to SAG.

    Application name

    Type the Server <Application Interface Name> for the SAG box routing set.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select FALSE.

    Note
    If you set to TRUE, it preserves the message body in the tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Message format

    From the drop-down list, select InterActMessage.

    MemberRef

    From the drop-down list, select ResponseHeader.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Responder

    Type the appropriate <ResponderDN> string, based on your provisioning with SWIFT.

    ResponseCrypto

    From the drop-down list, select FALSE.

    Timeout

    Type an appropriate number of seconds before connection timeout should occur.

    Acquire queue

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    ForceAcquire

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    Order by

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    Push session

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    Recovery mode

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    SNL end-point

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

  8. Click OK.

  9. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerIsolatedHost.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario
Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario
Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario

Other Resources

Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario


Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario

When you send a message to your partner, SWIFT transforms the message header and forwards the message to your partner as a Sw:HandleRequest message. Before you begin this step, you must complete Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario.

To add a FILE send port to capture Sw:HandleRequest message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port Tutorial_IA_SendResponseToReceiver.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Interact\HandleRequest, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_IA_HandleRequestOneWay_RealTime.

    Group by

    Leave the default value.

  9. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario
Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario
Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario
Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario

Other Resources

Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario


Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario

Before you begin this step, you must complete Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario.

To add a FILE send port to capture Sw:HandleResponse message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port Tutorial_IA_SendResponseToSender.

  5. In the Send Port Properties window, from the Transporttype drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Interact\Response, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    First row: Property

    From the drop-down list, select BTS.SPName.

    First row: Operator

    From the drop-down list, select ==.

    First row: Value

    Type Tutorial_IA_HandleRequest_RealTime.

    First row: Group by

    From the drop-down list, select OR.

    Second row: Property

    From the drop-down list, select BTS.MessageType.

    Second row: Operator

    From the drop-down list, select ==.

    Second row: Value

    Type SwInt-ExchangeResponse.

    Second row: Group by

    Leave the default value.

  9. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario
Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario
Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario

Other Resources

Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario


Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario

Before you begin this step, you must complete Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario.

To add an INTERACT send port

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static Solicit-Response Send Port.

  4. In the Send Port Properties window, name the send port Tutorial_IA_SendRequest_RealTime.

  5. In the Send Port Properties window, from the Transport type drop-down list, select INTERACT, and then click Configure.

  6. In the INTERACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Set the password as appropriate for SAG connectivity.

    User name

    Set the user name as appropriate for SAG connectivity.

    Adapter Mode

    From the drop-down list, select RealTime.

    Message format

    InteractMessage.

    Non-Repudiation Indicator

    FALSE.

    Request Type

    Type the appropriate <RequestType> string, based on your provisioning with SWIFT.

    ResponseCrypto

    FALSE.

    Requestor

    Set it to the appropriate <Requestor> string, based on your provisioning with SWIFT.

    Responder

    Set it to the appropriate <Responder> string, based on your provisioning with SWIFT.

    Service Name

    Set it to the appropriate <service name>, based on your provisioning with SWIFT.

    Delivery Notification

    From the drop-down list, select FALSE.

    Notify queue

    Type the appropriate queue name, based on your provisioning with SWIFT.

    Note
    If only payload is to be transferred, set the MessageFormat to “Payloadonly” in the INTERACT receive port and INTERACT send port. Set the receive and send pipelines to PassThru.

  7. Click OK.

  8. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select the Interact host.

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    XMLReceive

  9. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_IA_InputRequest_RealTime.

    Group by

    Leave the default value.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Real-Time Scenario
Step 3B: Add an INTERACT Receive Location for the InterAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Real-Time Scenario
Step 3D: Add a FILE Send Port to Capture the Sw:HandleResponse Message for the InterAct Real-Time Scenario

Other Resources

Step 3: Create Send and Receive Ports for the InterAct Real-Time Scenario


Step 4: Test the InterAct Real-Time End-to-End Scenario

You use the steps in this section to test the InterAct real-time scenario.

In This Section

  • Step 4A: Start the SWIFTNet Service

  • Step 4B: Start the Send Ports and Receive Ports for the InterAct Real-Time Scenario

  • Step 4C: Create a Test Instance for the InterAct Real-Time Scenario

  • Step 4D: Test a Valid Instance for the InterAct Real-Time Scenario


Step 4A: Start the SWIFTNet Service

Before you begin this step, you must complete Step 3E: Add an INTERACT Send Port for the InterAct Real-Time Scenario.

To start the SWIFTNet service

  • Open a remote API command prompt, type SWIFTNET Start, and then press ENTER.

See Also

Tasks

Step 4B: Start the Send Ports and Receive Ports for the InterAct Real-Time Scenario
Step 4C: Create a Test Instance for the InterAct Real-Time Scenario
Step 4D: Test a Valid Instance for the InterAct Real-Time Scenario

Other Resources

Step 4: Test the InterAct Real-Time End-to-End Scenario


Step 4B: Start the Send Ports and Receive Ports for the InterAct Real-Time Scenario

Before you begin this step, you must complete Step 4A: Start the SWIFTNet Service.

To start the send ports and receive ports

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the send ports.

  3. For each of the following send ports, right-click the send port, and then click Start:

    • Tutorial_IA_SendResponseToReceiver

    • Tutorial_IA_SendResponseToSender

    • Tutorial_IA_SendRequest_RealTime

  4. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the receive locations.

  5. For each of the following receive locations, right-click the receive location, and then click Enable:

    • Tutorial_IA_InputRequest_RealTime

    • Tutorial_IA_HandleRequestOneWay_RealTime

See Also

Tasks

Step 4A: Start the SWIFTNet Service
Step 4C: Create a Test Instance for the InterAct Real-Time Scenario
Step 4D: Test a Valid Instance for the InterAct Real-Time Scenario

Other Resources

Step 4: Test the InterAct Real-Time End-to-End Scenario


Step 4C: Create a Test Instance for the InterAct Real-Time Scenario

Before you begin this step, you must complete Step 4B: Start the Send Ports and Receive Ports for the InterAct Real-Time Scenario.

To create a test instance

  1. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <SwInt-ExchangeRequest>
<SwInt-Request>
<SwInt-RequestPayload>
Get Well soon
</SwInt-RequestPayload>
</SwInt-Request>
</SwInt-ExchangeRequest>

  2. Save the file with the name ExchangeReqSimple.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service
Step 4B: Start the Send Ports and Receive Ports for the InterAct Real-Time Scenario
Step 4D: Test a Valid Instance for the InterAct Real-Time Scenario

Other Resources

Step 4: Test the InterAct Real-Time End-to-End Scenario


Step 4D: Test a Valid Instance for the InterAct Real-Time Scenario

Before you begin this step, you must complete Step 4C: Create a Test Instance for the InterAct Real-Time Scenario.

To test a valid instance

  1. Drop the file ExchangeReqSimple.xml into C:\SWIFTAdapterTutorial\Interact\InputRequest_RealTime.

  2. Verify that after a moment, the ExchangeReqSimple.xml file disappears from the folder.

  3. Browse to C:\SWIFTAdapterTutorial\Interact\HandleRequest to view the handle request message, Sw:HandleRequest.

  4. Browse to C:\SWIFTAdapterTutorial\Interact\Response to view the handle response message, Sw:HandleResponse.

  5. Open the Sw:HandleRequest message in a text editor, such as Notepad, and verify that the payload section is the same as in the file ExchangeReqSimple.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service
Step 4B: Start the Send Ports and Receive Ports for the InterAct Real-Time Scenario
Step 4C: Create a Test Instance for the InterAct Real-Time Scenario

Other Resources

Step 4: Test the InterAct Real-Time End-to-End Scenario


InterAct Store and Forward (Push) Scenario

Before you begin the steps in this section, you must complete the steps in the Preparing to Use the Tutorial section.

In This Section

  • Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward Scenario

  • Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Store and Forward Scenario

  • Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario

  • Step 4: Test the InterAct Store and Forward End-to-End Scenario


Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Preparing to Use the Tutorial.

To configure the SWIFT adapter

  1. Start BizTalk Server Administration.

  2. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, right-click INTERACT, point to New, and then click Send Handler.

  3. In the INTERACT – Adapter Handler Properties dialog box, on the General tab, from the Host name drop-down list, select interacthost, and then click Properties.

  4. In the INTERACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: –SagMessagePartner <Interact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select FALSE.

    Note
    If you set to TRUE, it preserves the message body in the BizTalk Tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    False.

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    Username

    Type the user name you use to connect to SAG.

  5. Click OK to close the INTERACT Transport Properties dialog box.

  6. Click OK to close the INTERACT – Adapter Handler Properties dialog box.

  7. In the message box, click OK, and then restart the InterAct host instance.

See Also

Tasks

Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Store and Forward Scenario

Other Resources

InterAct Store and Forward (Push) Scenario
Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario
Step 4: Test the InterAct Store and Forward End-to-End Scenario


Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Store and Forward Scenario

The Server message partners created in SAG must be specified in the SWIFTNet paramfile to enable Receivers to initialize with these values.

Before you begin this step, you must complete Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward Scenario.

To add SWIFTNet configuration to the paramfile

  1. Open the paramfile in a text editor, such as Notepad.

    Note
    The paramfile is typically located at: C:\SWIFTAlliance\RA\Ra1\cfg\paramfile.

  2. In the paramfile, make the highlighted change to specify the Server Message partner name:

    username:snlowner

    subsystem_name:InteractStub

    #subsystem_group:Interactsnf

    #subsystem_dependency:Support,Swarm

    subsystem_nature:critical

    subsystem_start:

    spawn "snlreceiver -SagMessagePartner <Server MessagePartnerName for Interact SnF> -AdapterMode Interact"

    *END

    subsystem_stop:

    *KILL9:snlreceiver

    *END

    subsystem_status:

    *NB:1:snlreceiver

    *END

    start_event:SNL001:subsystem InteractStubSnF is up

    stop_event:SNL002:subsystem InteractStubSnF is down

    #subsystem_name:User

    ##subsystem_group:user

    ##subsystem_dependency:

    #subsystem_nature:critical

    #subsystem_start:

    #*END

    #subsystem_stop:

    #*END

    #subsystem_status:

    #*END

    #start_event:SNL001:subsystem User is up

    #stop_event:SNL002:subsystem User is down

See Also

Tasks

Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward Scenario

Other Resources

InterAct Store and Forward (Push) Scenario
Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario
Step 4: Test the InterAct Store and Forward End-to-End Scenario


Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario

Before you begin the steps in this section, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Store and Forward Scenario.

In This Section

  • Step 3A: Add a FILE Receive Location for the InterAct Store and Forward Scenario

  • Step 3B: Add an INTERACT Receive Location for the InterAct Store and Forward Scenario

  • Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Store and Forward Scenario

  • Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario


Step 3A: Add a FILE Receive Location for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Store and Forward Scenario.

To add a FILE receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_IA_InputRequest_SnF.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  7. In the FILE Transport Properties dialog box, type C:\SWIFTAdapterTutorial\Interact\InputRequest_SnF, and then click OK.

  8. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. Click OK.

See Also

Tasks

Step 3B: Add an INTERACT Receive Location for the InterAct Store and Forward Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Store and Forward Scenario
Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario


Step 3B: Add an INTERACT Receive Location for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 3A: Add a FILE Receive Location for the InterAct Store and Forward Scenario.

To add an INTERACT receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_IA_HandleRequestOneWay_SnF.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select INTERACT, and then click Configure.

  7. In the INTERACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User name

    Type the user name you use to connect to SAG.

    Application name

    Type the Server <Application Interface Name> for the SAG box routing set.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select FALSE.

    Note
    If you set to TRUE, it preserves the message body in the BizTalk Tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Message format

    From the drop-down list, select InterActMessage.

    MemberRef

    From the drop-down list, select ResponseHeader.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Responder

    Type the appropriate <Responder> string, based on your provisioning with SWIFT.

    ResponseCrypto

    From the drop-down list, select FALSE.

    Timeout

    Type an appropriate number of seconds before timeout should occur.

    Acquire queue

    Type the queue name, based on your provisioning with SWIFT.

    ForceAcquire

    From the drop-down list, select TRUE.

    Order by

    From the drop-down list, select Interact.

    Push session

    From the drop-down list, select TRUE.

    Recovery mode

    From the drop-down list, select TRUE.

    SNL end-point

    Type the appropriate end-point for the SAG routing set. This value should match the SnL endpoint you configured in SAG.

  8. Click OK.

  9. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerIsolatedHost.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Store and Forward Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Store and Forward Scenario
Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario


Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 3B: Add an INTERACT Receive Location for the InterAct Store and Forward Scenario.

To add a FILE send port to capture the Sw:HandleRequest message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_IA_SendResponseToReceiver.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Interact\HandleRequest, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_IA_InputRequest_SnF.

    Group by

    Leave the default value.

  9. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Store and Forward Scenario
Step 3B: Add an INTERACT Receive Location for the InterAct Store and Forward Scenario
Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario


Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Store and Forward Scenario.

To add an INTERACT send port

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static Solicit-Response Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_IA_SendRequest_SnF.

  5. In the Send Port Properties window, from the Transport type drop-down list, select INTERACT, and then click Configure.

  6. In the INTERACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Set the password as appropriate for SAG connectivity.

    User name

    Set the user name as appropriate for SAG connectivity.

    Message format

    InteractMessage

    Non-Repudiation Indicator

    FALSE

    Request Type

    Type the appropriate <RequestType> string, based on your provisioning with SWIFT.

    ResponseCrypto

    FALSE

    Requestor

    Type the appropriate <RequestorDN> string, based on your provisioning with SWIFT.

    Responder

    Type the appropriate <ResponderDN> string, based on your provisioning with SWIFT.

    Service Name

    Type the appropriate <service name>, based on your provisioning with SWIFT.

    Delivery Notification

    From the drop-down list, select FALSE.

    Notify queue

    Type the appropriate queue name, based on your provisioning with SWIFT.

    Note
    If only payload is to be transferred, set the MessageFormat to “Payload” in the INTERACT receive port and INTERACT send port. Set the Receive and Send pipelines to PassThru.

  7. Click OK.

  8. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select the Interact host.

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_IA_InputRequest_SnF.

    Group by

    Leave the default value.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the InterAct Store and Forward Scenario
Step 3B: Add an INTERACT Receive Location for the InterAct Store and Forward Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleRequest Message for the InterAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the InterAct Store and Forward Scenario


Step 4: Test the InterAct Store and Forward End-to-End Scenario

Before you begin the steps in this section, you must complete Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario.

In This Section

  • Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward Scenario

  • Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward Scenario

  • Step 4C: Create a Test Instance for the InterAct Store and Forward Scenario

  • Step 4D: Test a Valid Instance for the InterAct Store and Forward Scenario


Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 3D: Add an INTERACT Send Port for the InterAct Store and Forward Scenario.

To start the SWIFTNet service

  • Open a remote API command prompt, type SWIFTNET Start, and then press ENTER.

See Also

Tasks

Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward Scenario
Step 4C: Create a Test Instance for the InterAct Store and Forward Scenario
Step 4D: Test a Valid Instance for the InterAct Store and Forward Scenario

Other Resources

Step 4: Test the InterAct Store and Forward End-to-End Scenario


Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward Scenario.

To start the send ports and receive ports

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the send ports.

  3. For each of the following send ports, right-click the send port, and then click Start:

    • Tutorial_IA_SendResponseToReceiver

    • Tutorial_IA_SendResponseToSender

    • Tutorial_IA_SendRequest_SnF

  4. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the receive locations.

  5. For each of the following receive locations, right-click the receive location, and then click Enable:

    • Tutorial_IA_InputRequest_SnF

    • Tutorial_IA_HandleRequestOneWay_SnF

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward Scenario
Step 4C: Create a Test Instance for the InterAct Store and Forward Scenario
Step 4D: Test a Valid Instance for the InterAct Store and Forward Scenario

Other Resources

Step 4: Test the InterAct Store and Forward End-to-End Scenario


Step 4C: Create a Test Instance for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward Scenario.

To create a test instance

  1. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <SwInt-ExchangeRequest>
<SwInt-Request>
<SwInt-RequestPayload>
Get Well soon
</SwInt-RequestPayload>
</SwInt-Request>
</SwInt-ExchangeRequest>

  2. Save the File with the name ExchangeReqSimple.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward Scenario
Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward Scenario
Step 4D: Test a Valid Instance for the InterAct Store and Forward Scenario

Other Resources

Step 4: Test the InterAct Store and Forward End-to-End Scenario


Step 4D: Test a Valid Instance for the InterAct Store and Forward Scenario

Before you begin this step, you must complete Step 4C: Create a Test Instance for the InterAct Store and Forward Scenario.

To test a valid instance

  1. Drop the file ExchangeReqSimple.xml into c:\SWIFTAdapterTutorial\Interact\InputRequest_SnF

  2. Verify that after a moment, the ExchangeReqSimple.xml file disappears from the folder.

  3. Browse to C:\SWIFTAdapterTutorial\Interact\HandleRequest. Verify that Sw:HandleRequest is in the folder.

  4. Open the Sw:HandleRequest message in a text editor, such as Notepad, and verify that the payload section is the same as in the file ExchangeReqSimple.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward Scenario
Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward Scenario
Step 4C: Create a Test Instance for the InterAct Store and Forward Scenario

Other Resources

Step 4: Test the InterAct Store and Forward End-to-End Scenario


InterAct Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Preparing to Use the Tutorial section.

In This Section

  • Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward (Pull) Scenario

  • Step2: Create Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario

  • Step3: Create an orchestration with dynamic send port for the InterAct Store and Forward (Pull) Scenario

  • Step 4: Test the InterAct Store and Forward (Pull) End-to-End Scenario


Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Preparing to Use the Tutorial.

To configure the SWIFT adapter

  1. Start BizTalk Server Administration.

  2. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, right-click INTERACT, point to New, and then click Send Handler.

  3. In the INTERACT – Adapter Handler Properties dialog box, on the General tab, from the Host name drop-down list, select interacthost, and then click Properties.

  4. In the INTERACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: –SagMessagePartner <Interact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select FALSE.

    Note
    If you set to TRUE, it preserves the message body in the BizTalk Tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    False.

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    Username

    Type the user name you use to connect to SAG.

  5. Click OK to close the INTERACT Transport Properties dialog box.

  6. Click OK to close the INTERACT – Adapter Handler Properties dialog box.

  7. In the message box, click OK, and then restart the InterAct host instance.

  8. Repeat step 1.

  9. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, select INTERACT, open BizTalkServerApplication and then, click Properties.

  10. In the INTERACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: –SagMessagePartner <Interact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select FALSE.

    Note
    If you set to TRUE, it preserves the message body in the BizTalk Tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    True

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    Username

    Type the user name you use to connect to SAG.

  11. Click OK to close the INTERACT Transport Properties dialog box.

  12. Select make this the default handler option.

  13. Click OK to close the INTERACT– Adapter Handler Properties dialog box.

  14. In the Message box, click OK, and then restart the BizTalkServerApplication host instance.

See Also

Other Resources

Step2: Create Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario
Step3: Create an orchestration with dynamic send port for the InterAct Store and Forward (Pull) Scenario
Step 4: Test the InterAct Store and Forward (Pull) End-to-End Scenario


Step2: Create Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Step 1: Configure the SWIFT Adapter for the InterAct Store and Forward (Pull) Scenario section.

In This Section

  • Step 2A: Add FILE Receive Locations for the InterAct Store and Forward (Pull) Scenario

  • Step 2B: Add FILE Send Ports to Capture the Sw:HandleRequest Message for the InterAct Store and Forward (Pull) Scenario

  • Step 2C: Add an INTERACT Send Port for the InterAct Store and Forward (Pull) Scenario


Step 2A: Add FILE Receive Locations for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the InterAct Store and Forward Scenario.

To add a FILE Receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_IA_InputRequest_SnF.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  7. In the FILE Transport Properties dialog box, type C:\SWIFTAdapterTutorial\Interact\InputRequest_SnF, and then click OK.

  8. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. Click OK.

  10. Repeat steps 1 and 2.

  11. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  12. In the Receive Port Properties window, name the receive port, Tutorial_IA_InputRequest_PullMode.

  13. In the Receive Port Properties window, on the Receive Locations tab, click New.

  14. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  15. In the FILE Transport Properties dialog box, type C:\SWIFTAdapterTutorial\Interact\PullRequest, and then click OK.

  16. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  17. Click OK.

See Also

Tasks

Step 2B: Add FILE Send Ports to Capture the Sw:HandleRequest Message for the InterAct Store and Forward (Pull) Scenario
Step 2C: Add an INTERACT Send Port for the InterAct Store and Forward (Pull) Scenario


Step 2B: Add FILE Send Ports to Capture the Sw:HandleRequest Message for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 2A: Add FILE Receive Locations for the InterAct Store and Forward (Pull) Scenario.

To add a FILE send port to capture the Sw:HandleRequest message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_IA_SendPullResponsetoReceiver.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Interact\PullResponse, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. Click OK.

  9. Repeat step 1 and 2.

  10. Right-click Send Ports, point to New, and then click Dynamic Solicit-Response Send Port.

  11. In the Send Port Properties window, name the send port, Tutorial_IA_DynamicSendPort.

  12. In the Send Port Properties window, do the following:

    Use this To do this

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  13. Click OK.

See Also

Tasks

Step 2A: Add FILE Receive Locations for the InterAct Store and Forward (Pull) Scenario
Step 2C: Add an INTERACT Send Port for the InterAct Store and Forward (Pull) Scenario


Step 2C: Add an INTERACT Send Port for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 2B: Add FILE Send Ports to Capture the Sw:HandleRequest Message for the InterAct Store and Forward (Pull) Scenario.

To add an INTERACT send port

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static Solicit-Response Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_IA_SendRequest_SnF.

  5. In the Send Port Properties window, from the Transport type drop-down list, select INTERACT, and then click Configure.

  6. In the INTERACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Set the password as appropriate for SAG connectivity.

    User name

    Set the user name as appropriate for SAG connectivity.

    Message format

    InteractMessage

    Non-Repudiation Indicator

    FALSE

    Request Type

    Type the appropriate <RequestType> string, based on your provisioning with SWIFT.

    ResponseCrypto

    FALSE

    Requestor

    Type the appropriate <RequestorDN> string, based on your provisioning with SWIFT.

    Responder

    Type the appropriate <ResponderDN> string, based on your provisioning with SWIFT.

    Service Name

    Type the appropriate <service name>, based on your provisioning with SWIFT.

    Delivery Notification

    From the drop-down list, select FALSE.

    Notify queue

    Type the appropriate queue name, based on your provisioning with SWIFT.

    Note
    If only payload is to be transferred, set the MessageFormat to “Payload” in the INTERACT receive port and INTERACT send port. Set the Receive and Send pipelines to PassThru.

  7. Click OK.

  8. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select the Interact host.

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_IA_InputRequest_SnF.

    Group by

    Leave the default value.

  10. Click OK.

See Also

Tasks

Step 2A: Add FILE Receive Locations for the InterAct Store and Forward (Pull) Scenario
Step 2B: Add FILE Send Ports to Capture the Sw:HandleRequest Message for the InterAct Store and Forward (Pull) Scenario


Step3: Create an orchestration with dynamic send port for the InterAct Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Step 2C: Add an INTERACT Send Port for the InterAct Store and Forward (Pull) Scenario section.

In This Section

  • Step 3A: Create an orchestration for dynamic send port for InterAct Store and Forward (Pull) Scenario

  • Step 3B: Bind the orchestration with dynamic send port for InterAct Store and Forward (Pull) Scenario


Step 3A: Create an orchestration for dynamic send port for InterAct Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Step 2C: Add an INTERACT Send Port for the InterAct Store and Forward (Pull) Scenario section.

To Create an Orchestration

  1. Create the Receive shape that subscribes to all of the messages of message type Sw-ExchangeSnFRequest.

  2. Add an Expression shape to get all of the required values from the ExchangeRequestSnF message. Refer to the following Expression Shape sample:

    Copy Code
    ExchangeSnFRequestDoc=ExchangeSnFRequest;
AcquireQueuePath="/Sw-ExchangeSnFRequest/Sw-SnFRequest/Sw-SnFOpRequest/Sw-AcquireSnFRequest/";

QueueNameNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath + "SwInt-Queue");
SessionModeNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-SessionMode");
ForceAcquireNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-ForceAcquire");
OrderByNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-OrderBy");
RecoveryModeNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-RecoveryMode");

QueueName=QueueNameNode.InnerText;
SessionMode=SessionModeNode.InnerText;
ForceAcquire=ForceAcquireNode.InnerText;
OrderBy=OrderByNode.InnerText;
RecoveryMode=RecoveryModeNode.InnerText;

MessageFormat="InteractMessage";
IsPull=true;

  3. Construct a message of type PullSnFRequest and the URL for Dynamic Send. Refer to the Assignment Shape of Construct Message sample:

    Copy Code
    PullMessage = new System.Xml.XmlDocument();
PullMessage.LoadXml(@"<Sw-PullSnFRequest/>");
PullRequest = PullMessage;

DynamicPull(Microsoft.XLANGs.BaseTypes.Address) = "INTERACT://<machine
 name>/" + QueueName + "/" + SessionMode + "/" + ForceAcquire + "/" +
OrderBy + "/" + RecoveryMode + "/" + MessageFormat;

  4. In this sample, PullMessage is a message of type Sw-PullSnFRequest.

  5. Add a Send shape to send the PullMessage (pull request).

  6. Add a request-response port for sending the pull message and for receiving the pull response with the dynamic binding.

  7. Connect the Send shape with the port created in the previous step.

  8. Add a Receive shape to receive the PullResponse (message of type PullSnFResponse) and then connect the Receive shape with the port previously created.

  9. Send the response to the respective folder using a Send shape.

  10. Add all of these activities (sending a pull request and receiving the response) in a loop if you want to pull all of the messages.

  11. Add an Expression shape CheckQueueEmpty to keep pulling until the time queue is empty. Refer the following Expression Shape sample:

    Copy Code
    PullResponseDoc=PullResponse;
PullResponseNode=PullResponseDoc.SelectSingleNode("/SwPullSnFResponse/
SwGbl-Status/SwGbl-StatusAttributes/SwGbl-Code");
if(PullResponseNode !=null && PullResponseNode.InnerText=="Sw.SnF.QueueEmpty")
{
    IsPull=false;
}

  12. This will set the IsPull = false, once the queue is empty.

See Also

Tasks

Step 3B: Bind the orchestration with dynamic send port for InterAct Store and Forward (Pull) Scenario


Step 3B: Bind the orchestration with dynamic send port for InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 3A: Create an orchestration for dynamic send port for InterAct Store and Forward (Pull) Scenario.

To add a FILE Receive location

  1. Start BizTalk Server Administration.

  2. In the BizTalk Server Administration Console, in the left pane, expand BizTalk Server Administration, expand BizTalk Group, expand Platform Settings, and then click Host Instances. Verify that the status for the BizTalkServerApplication host instance and Interact host instance is running. If not, right-click the host instances, and click Start.

  3. In the left pane, expand Applications, and then expand BizTalk Application 1. Click Orchestrations.

  4. Right-click DynamicSendOrchestration and click Properties.

  5. In the Orchestration Properties dialog box, in the left pane, click Bindings and do the following:

    Use this To do this

    Host

    From the drop-down list, select BizTalkServer Application.

    Dynamic Pull

    From the drop-down list, select Tutorial_IA_DynamicSendPort.

    SendPullResponseToSender

    From the drop-down list, select Tutorial_IA_SendPullResponsetoReceiver.

See Also

Tasks

Step 3A: Create an orchestration for dynamic send port for InterAct Store and Forward (Pull) Scenario


Step 4: Test the InterAct Store and Forward (Pull) End-to-End Scenario

Before you begin the steps in this section, you must complete Step 3B: Bind the orchestration with dynamic send port for InterAct Store and Forward (Pull) Scenario.

In This Section

  • Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward (Pull) Scenario

  • Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario

  • Step 4C: Create a Test Instance for the InterAct Store and Forward (Pull) Scenario

  • Step 4D: Test a Valid Instance for the InterAct Store and Forward (Pull) Scenario


Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 3B: Bind the orchestration with dynamic send port for InterAct Store and Forward (Pull) Scenario.

To start the SWIFTNet service

  • Open a remote API command prompt, type SWIFTNET Start, and then press ENTER.

See Also

Tasks

Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario
Step 4C: Create a Test Instance for the InterAct Store and Forward (Pull) Scenario
Step 4D: Test a Valid Instance for the InterAct Store and Forward (Pull) Scenario


Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must completeStep 4: Test the InterAct Store and Forward End-to-End Scenario.

To start the send ports and receive ports

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the send ports.

  3. For each of the following send ports, right-click the send port, and then click Start:

    • Tutorial_ IA_SendPullResponseToReceiver

    • Tutorial_IA_SendRequest_SnF

    • Tutorial_IA_DynamicSendPort

  4. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the receive locations.

  5. For each of the following receive locations, right-click the receive location, and then click Enable:

    • Tutorial_IA_InputRequest_SnF

    • Tutorial_ IA_InputRequest_PullMode

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward (Pull) Scenario
Step 4C: Create a Test Instance for the InterAct Store and Forward (Pull) Scenario
Step 4D: Test a Valid Instance for the InterAct Store and Forward (Pull) Scenario


Step 4C: Create a Test Instance for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 3B: Bind the orchestration with dynamic send port for InterAct Store and Forward (Pull) Scenario.

To create a test instance

  1. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    SwInt-ExchangeRequest>
<SwInt-Request>
<SwInt-RequestPayload>
Get Well soon
</SwInt-RequestPayload>
</SwInt-Request>
</SwInt-ExchangeRequest>

  2. Save the File with the name ExchangeReqSimple.xml.

  3. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <?xml version="1.0" encoding="utf-8" ?>
<Sw-ExchangeSnFRequest>
<Sw-SnFRequest>
<Sw-SnFOpRequest>
<Sw-AcquireSnFRequest>
<SwInt-Queue>ptsguspp_genericfa!x</SwInt-Queue>
<Sw-SessionMode>Pull</Sw-SessionMode>
<Sw-ForceAcquire>TRUE</Sw-ForceAcquire>
<Sw-OrderBy>FileAct</Sw-OrderBy>
<Sw-RecoveryMode>TRUE</Sw-RecoveryMode>
</Sw-AcquireSnFRequest>
</Sw-SnFOpRequest>
</Sw-SnFRequest>
</Sw-ExchangeSnFRequest>

  4. Save the File with the name acquirequeue.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward (Pull) Scenario
Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario
Step 4D: Test a Valid Instance for the InterAct Store and Forward (Pull) Scenario


Step 4D: Test a Valid Instance for the InterAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 4C: Create a Test Instance for the InterAct Store and Forward (Pull) Scenario.

To test a valid instance

  1. Drop the file ExchangeReqSimple.xml into c:\SWIFTAdapterTutorial\Interact\InputRequest_SnF.

  2. Verify that after a moment, the ExchangeReqSimple.xml file disappears from the folder.

  3. Drop the file acquirequeue.xml into c:\SWIFTAdapterTutorial\Interact\PullRequest.

  4. Browse to C:\SWIFTAdapterTutorial\Interact\PullResponse Verify that Sw:HandleRequest is in the folder.

  5. Open the Sw:HandleRequest message in a text editor, such as Notepad, and verify that the payload section is the same as in the file ExchangeReqSimple.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the InterAct Store and Forward (Pull) Scenario
Step 4B: Start the Send Ports and Receive Ports for the InterAct Store and Forward (Pull) Scenario
Step 4C: Create a Test Instance for the InterAct Store and Forward (Pull) Scenario


FileAct Real-Time Scenario

Before you begin this scenario, you must complete Preparing to Use the Tutorial.

In This Section

  • Step 1: Configure the SWIFT Adapter for the FileAct Real-Time Scenario

  • Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Real-Time Scenario

  • Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario

  • Step 4: Test FileAct Real-Time End-to-End Scenario


Step 1: Configure the SWIFT Adapter for the FileAct Real-Time Scenario

Before you begin this step, you must complete Preparing to Use the Tutorial.

To configure the SWIFT adapter

  1. Start BizTalk Server Administration.

  2. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, right-click FILEACT, point to New, and then click Send Handler.

  3. In the FILEACT – Adapter Handler Properties dialog box, on the General tab, from the Host name drop-down list, select fileacthost, and then click Properties.

  4. In the FILEACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: -SagMessagePartner <Fileact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    FACryptoMode

    From the drop-down list, select Advanced.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    False

    Event end-point

    Type the appropriate SAG end-point.

    PhysicalFolderName

    Type the name of the folder on the server. For example, C:\Fileact\ServerLocation.

    PollingInterval

    Type the appropriate interval (in seconds) after which the adapter checks for the status of file transfer.

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    Username

    Type the user name you use to connect to SAG.

  5. Click OK to close the FILEACT Transport Properties dialog box.

  6. Click OK to close the FILEACT – Adapter Handler Properties dialog box.

  7. In the message box, click OK, and then restart the FileAct host instance.

See Also

Tasks

Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Real-Time Scenario

Other Resources

FileAct Real-Time Scenario
Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario
Step 4: Test FileAct Real-Time End-to-End Scenario


Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Real-Time Scenario

The Server message partners created in SAG must be specified in the SWIFTNet paramfile to enable Receivers to initialize with these values.

Before you begin this step, you must complete Step 1: Configure the SWIFT Adapter for the FileAct Real-Time Scenario.

To add SWIFTNet configuration to the paramfile

  1. Open the paramfile in a text editor, such as Notepad.

    Note
    The paramfile is typically located at: C:\SWIFTAlliance\RA\Ra1\cfg\paramfile

  2. In the paramfile, make the highlighted change to specify the Server Message partner name:

    username:snlowner

    subsystem_name:FileactStub

    #subsystem_group:fileact

    #subsystem_dependency:Support,Swarm

    subsystem_nature:critical

    subsystem_start:

    spawn "snlreceiver -SagMessagePartner <Server MessagePartnerName for fileact RT > -AdapterMode fileact"

    *END

    subsystem_stop:

    *KILL9:snlreceiver

    *END

    subsystem_status:

    *NB:1:snlreceiver

    *END

    start_event:SNL001:subsystem FileactStub is up

    stop_event:SNL002:subsystem FileactStub is down

    #subsystem_name:User

    ##subsystem_group:user

    ##subsystem_dependency:

    #subsystem_nature:critical

    #subsystem_start:

    #*END

    #subsystem_stop:

    #*END

    #subsystem_status:

    #*END

    #start_event:SNL001:subsystem User is up

    #stop_event:SNL002:subsystem User is down

See Also

Tasks

Step 1: Configure the SWIFT Adapter for the FileAct Real-Time Scenario

Other Resources

FileAct Real-Time Scenario
Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario
Step 4: Test FileAct Real-Time End-to-End Scenario


Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario

Before you begin the steps in this section, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Real-Time Scenario.

In This Section

  • Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario

  • Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario

  • Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario

  • Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario

  • Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

  • Step 3F: Add a FILE Send Port for the FileAct Real-Time Scenario to Capture Sw-HandleFileEventRequest Messages


Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Real-Time Scenario.

To add a FILE receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_FA_InputRequest_RealTime.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  7. In the FILE Transport Properties dialog box, in the Receive folder box, type C:\SWIFTAdapterTutorial\Fileact\FileRequestDropRealTime, and then click OK.

  8. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. Click OK.

See Also

Tasks

Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario
Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

Other Resources

Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario


Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario.

To add a FILEACT receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_FA_HandleRequestOneWay_RealTime.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILEACT, and then click Configure.

  7. In the FILEACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User name

    Type the user name you use to connect to SAG.

    Application name

    Type the Server <Application Interface Name> for the SAG box routing set.

    Crypto Mode

    From the drop-down list, select Advanced.

    FACryptoMode

    From the drop-down list, select Advanced.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    MemberRef

    From the drop-down list, select ResponsePayload.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Responder

    Type the appropriate <Responder> string, based on your provisioning with SWIFT.

    ResponseCrypto

    From the drop-down list, select FALSE.

    Acknowledgement Indicator

    From the drop-down list, select ResponsePayload.

    FileCompression

    From the drop-down list, select None.

    PhysicalFolderName

    Type the name of the folder on the server. For example, C:\Fileact\ServerLocation.

    SubscribeFileEvents

    From the drop-down list, select FALSE.

    TransferAnswer

    From the drop-down list, select Accepted.

    AllFileEvents

    From the drop-down list, select TRUE.

    Event end-point

    Type the appropriate end-point for the SAG routing set. This value should match the SnL endpoint you configured in SAG.

    FullFileStatus

    From the drop-down list, select TRUE.

    Timeout

    Type an appropriate number of seconds before timeout should occur.

    Acquire queue

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    ForceAcquire

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    Order by

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    Push session

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    Recovery mode

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

    SNL end-point

    Leave the default value for this property. This property is used for Store-and-Forward scenarios.

  8. Click OK.

  9. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerIsolatedHost.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario
Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

Other Resources

Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario


Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario.

To add a FILE send port to capture Sw:HandleFileRequest message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendResponseToReceiver.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Fileact\ResponseServer, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.MessageType.

    Operator

    From the drop-down list, select ==.

    Value

    Type Sw-HandleFileRequest.

    Group by

    Leave the default value

  9. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario
Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario
Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

Other Resources

Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario


Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario

Before you start this step, you must complete Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario.

To add a FILEACT send port

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static Solicit-Response Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendRequest_RealTime.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILEACT, and then click Configure.

  6. In the FILEACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Set the password as appropriate for SAG connectivity.

    User name

    Set the user name as appropriate for SAG connectivity.

    Adapter Mode

    From the drop-down list, select Store and Forward.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Request Type

    Set to the appropriate <RequestType> string, based on your provisioning with SWIFT.

    ResponseCrypto

    From the drop-down list, select FALSE.

    Requestor

    Set to the appropriate <Requestor> string, based on your provisioning with SWIFT.

    Responder

    Set to the appropriate <Responder> string based on your provisioning with SWIFT.

    Service Name

    Set to the appropriate <service name> based on your provisioning with SWIFT.

    Acknowledgement Indicator

    From the drop-down list, select FALSE.

    Event end-point

    From the drop-down list, select FALSE.

    File Compression

    From the drop-down list, select None.

    Physical Folder Name

    Type C:\SWIFTAdapterTutorial\Fileact\ClientLocation.

    Transfer end-point

    Type the appropriate end-point for the SAG routing set. This value should match the SnL endpoint you configured in SAG.

    ServiceProfile

    From the drop-down list, select Transaction Count.

    Delivery notification

    From the drop-down list, select FALSE.

    Notify queue

    Type the queue name, based on your provisioning with SWIFT.

    Note
    If message with Transaction Count is to be transferred, set the Service Profile Mode to “Transaction Count” in the FileAct send port.

  7. Click OK.

  8. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select the Fileact host.

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_FA_InputRequest_RealTime.

    Group by

    Leave the default value.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario
Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario
Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

Other Resources

Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario


Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario.

To add a FILE send port to capture Sw:ExchangeFileResponse message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendResponseToSender.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Fileact\ResponseClient, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.SPName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_FA_SendRequest_RealTime.

    Group by

    Leave the default value.

  9. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Real-Time Scenario
Step 3B: Add a FILEACT Receive Location for the FileAct Real-Time Scenario
Step 3C: Add a FILE Send Port to Capture Sw:HandleRequest Message for the FileAct Real-Time Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Real-Time Scenario

Other Resources

Step 3: Create the Send Ports and Receive Ports for the FileAct Real-Time Scenario


Step 3F: Add a FILE Send Port for the FileAct Real-Time Scenario to Capture Sw-HandleFileEventRequest Messages

Before you begin this step, you must complete Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario

To add a FILE send port to capture Status Events:

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_ GetStatusReports.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Fileact\ StatusEvents, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    Select BTS. MessageType

    Operator

    Select ==

    Value

    Type Sw-HandleFileEventRequest

    Group

    Or

    Property

    Select BTS. MessageType

    Operator

    Select ==

    Value

    Type Sw-ExchangeSnFResponse


Step 4: Test FileAct Real-Time End-to-End Scenario

Before you begin the steps in this section, you must complete Step 3F: Add a FILE Send Port for the FileAct Real-Time Scenario to Capture Sw-HandleFileEventRequest Messages.

In This Section

  • Step 4A: Start the SWIFTNet Service for the FileAct Real-Time Scenario

  • Step 4B: Start the Send Ports and Receive Ports for the FileAct Real-Time Scenario

  • Step 4C: Create a Test Instance for the FileAct Real-Time Scenario

  • Step 4D: Test a Valid Instance for the FileAct Real-Time Scenario


Step 4A: Start the SWIFTNet Service for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 3E: Add a FILE Send Port to Capture Sw:ExchangeFileResponse Message for the FileAct Real-Time Scenario.

To start the SWIFTNet service

  • Open a remote API command prompt, type SWIFTNET Start, and then press ENTER.

See Also

Tasks

Step 4B: Start the Send Ports and Receive Ports for the FileAct Real-Time Scenario
Step 4C: Create a Test Instance for the FileAct Real-Time Scenario
Step 4D: Test a Valid Instance for the FileAct Real-Time Scenario

Other Resources

Step 4: Test FileAct Real-Time End-to-End Scenario


Step 4B: Start the Send Ports and Receive Ports for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 4A: Start the SWIFTNet Service for the FileAct Real-Time Scenario.

To start the send ports and receive ports

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the send ports.

  3. For each of the following send ports, right-click the send port, and then click Start:

    • Tutorial_FA_SendResponseToReceiver

    • Tutorial_FA_SendResponseToSender

    • Tutorial_FA_SendRequest_RealTime

    • Tutorial_ GetStatusReports

  4. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the receive locations.

  5. For each of the following receive locations, right-click the receive location, and then click Enable:

    • Tutorial_FA_InputRequest_RealTime

    • Tutorial_FA_HandleRequestOneWay_RealTime

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Real-Time Scenario
Step 4C: Create a Test Instance for the FileAct Real-Time Scenario
Step 4D: Test a Valid Instance for the FileAct Real-Time Scenario

Other Resources

Step 4: Test FileAct Real-Time End-to-End Scenario


Step 4C: Create a Test Instance for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 4B: Start the Send Ports and Receive Ports for the FileAct Real-Time Scenario.

To create a test instance

  1. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <?xml version="1.0" encoding="utf-8"?>
<Sw-ExchangeFileRequest>
<Sw-FileRequest>
<Sw-FileOpRequest>
<Sw-PutFileRequest>
<Sw-PhysicalName>%PhysicalFolderName%\sample_put.txt</Sw-PhysicalName>
</Sw-PutFileRequest>
</Sw-FileOpRequest>
</Sw-FileRequest>
</Sw-ExchangeFileRequest>

  2. Save the file with the name “PutReqSimple.xml”.

  3. Make sure that the file (Sample_put.txt) is placed in the Client Location folder.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Real-Time Scenario
Step 4B: Start the Send Ports and Receive Ports for the FileAct Real-Time Scenario
Step 4D: Test a Valid Instance for the FileAct Real-Time Scenario

Other Resources

Step 4: Test FileAct Real-Time End-to-End Scenario


Step 4D: Test a Valid Instance for the FileAct Real-Time Scenario

Before you begin this step, you must complete Step 4C: Create a Test Instance for the FileAct Real-Time Scenario.

To test a valid instance

  1. Drop the file PutReqSimple.xml into C:\SWIFTAdapterTutorial\Fileact\FileRequestDropRealTime.

  2. Verify that after a moment, the PutReqSimple.xml file disappears from the folder.

  3. Verify that the Sample_Put.txt file is transferred from: C:\SWIFTAdapterTutorial\Fileact\ClientLocation to C:\SWIFTAdapterTutorial\Fileact\ServerLocation, and that responses appear in C:\SWIFTAdapterTutorial\Fileact\ResponseClient and C:\SWIFTAdapterTutorial\Fileact\ResponseServer.

  4. Check status event (c:\SWIFTAdapterTutorial\Fileact\StatusEvents) folder for three HandleFileEventRequest messages. These messages should contain the following Transfer status:

    HandleFileEventRequest message<Sw-TransferStatus>Accepted</Sw-TransferStatus>

    HandleFileEventRequest message <Sw-TransferStatus>Initiated</Sw-TransferStatus>

    HandleFileEventRequest message <Sw-TransferStatus>Completed</Sw-TransferStatus>

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Real-Time Scenario
Step 4B: Start the Send Ports and Receive Ports for the FileAct Real-Time Scenario
Step 4C: Create a Test Instance for the FileAct Real-Time Scenario

Other Resources

Step 4: Test FileAct Real-Time End-to-End Scenario


FileAct Store and Forward Scenario

Before you begin the steps in this scenario, you must complete Preparing to Use the Tutorial.

In This Section

  • Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward Scenario

  • Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Store and Forward Scenario

  • Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario

  • Step 4: Test FileAct Store and Forward End-to-End Scenario


Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Preparing to Use the Tutorial.

To configure the SWIFT adapter

  1. Start BizTalk Server Administration.

  2. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, right-click FILEACT, point to New, and then click Send Handler.

  3. In the FILEACT – Adapter HandlerProperties dialog box, on the General tab, from the Host name drop-down list, select fileacthost, and then click Properties.

  4. In the FILEACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: -SagMessagePartner <Fileact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    FACryptoMode

    From the drop-down list, select Advanced.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    False

    Event end-point

    Type the appropriate SAG end-point.

    PhysicalFolderName

    Type the name of the folder on the server. For example, C:\Fileact\ServerLocation.

    PollingInterval

    Type the appropriate interval (in seconds) after which the adapter checks for the status of file transfer.

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User Name

    Type the user name you use to connect to SAG.

  5. Click OK to close the FILEACT Transport Properties dialog box.

  6. Click OK to close the FILEACT – Adapter Handler Properties dialog box.

  7. In the Message box, click OK, and then restart the FileAct host instance.

See Also

Tasks

Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Store and Forward Scenario

Other Resources

FileAct Store and Forward Scenario
Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario
Step 4: Test FileAct Store and Forward End-to-End Scenario


Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Store and Forward Scenario

The Server message partners created in SAG must be specified in the SWIFTNet paramfile to enable Receivers to initialize with these values.

Before you begin this step, you must complete Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward Scenario.

To add SWIFTNet configuration to the paramfile

  1. Open the paramfile in a text editor, such as Notepad.

  2. The paramfile is typically located at: C:\SWIFTAlliance\RA\Ra1\cfg\paramfile

  3. In the paramfile, make the highlighted change to specify the Server Message partner name:

    username:snlowner

    subsystem_name:FileactStub

    #subsystem_group:fileactsnf

    #subsystem_dependency:Support,Swarm

    subsystem_nature:critical

    subsystem_start:

    spawn "snlreceiver -SagMessagePartner <Server MessagePartnerName for fileact SnF> -AdapterMode fileact"

    *END

    subsystem_stop:

    *KILL9:snlreceiver

    *END

    subsystem_status:

    *NB:1:snlreceiver

    *END

    start_event:SNL001:subsystem FileactStubSnF is up

    stop_event:SNL002:subsystem FileactStubSnF is down

    #subsystem_name:User

    ##subsystem_group:user

    ##subsystem_dependency:

    #subsystem_nature:critical

    #subsystem_start:

    #*END

    #subsystem_stop:

    #*END

    #subsystem_status:

    #*END

    #start_event:SNL001:subsystem User is up

    #stop_event:SNL002:subsystem User is down

See Also

Tasks

Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward Scenario

Other Resources

FileAct Store and Forward Scenario
Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario
Step 4: Test FileAct Store and Forward End-to-End Scenario


Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario

Before you begin the steps in this section, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Store and Forward Scenario.

In This Section

  • Step 3A: Add a FILE Receive Location for the FileAct Store and Forward Scenario

  • Step 3B: Add a FILEACT Receive Location for the FileAct Store and Forward Scenario

  • Step 3C: Add a FILE Send Port to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward Scenario

  • Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario

  • Step 3E: Add a FILE Send Port for the FileAct Store and Forward Scenario to capture Sw-ExchangeSnFResponse messages


Step 3A: Add a FILE Receive Location for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 2: Add SWIFTNet Configuration to the Paramfile for the FileAct Store and Forward Scenario.

To add a FILE receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_FA_InputRequest_SnF.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  7. In the FILE Transport Properties dialog box, in the Receive folder box, type C:\SWIFTAdapterTutorial\Fileact\FileRequestDropSnF, and then click OK.

  8. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. Click OK.

See Also

Tasks

Step 3B: Add a FILEACT Receive Location for the FileAct Store and Forward Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario


Step 3B: Add a FILEACT Receive Location for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 3A: Add a FILE Receive Location for the FileAct Store and Forward Scenario.

To add an FILEACT receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_FA_HandleRequestOneWay_SnF.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILEACT, and then click Configure.

  7. In the FILEACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User name

    Type the user name you use to connect to SAG.

    Application name

    Type the Server <Application Interface Name> for the SAG box routing set.

    Crypto Mode

    From the drop-down list, select Advanced.

    FACrypto Mode

    From the drop-down list, select Advanced.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    MemberRef

    From the drop-down list, select ResponsePayload.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Responder

    Type the appropriate <Responder> string, based on your provisioning with SWIFT.

    ResponseCrypto

    From the drop-down list, select FALSE.

    Acknowledgement Indicator

    From the drop-down list, select ResponsePayload.

    FileCompression

    From the drop-down list, select None.

    PhysicalFolderName

    Type the name of the folder on the server. For example, C:\Fileact\ServerLocation.

    SubscribeFileEvents

    From the drop-down list, select FALSE.

    TransferAnswer

    From the drop-down list, select Accepted.

    AllFileEvents

    From the drop-down list, select TRUE.

    Event end-point

    Type the appropriate SAG end-point.

    FullFileStatus

    From the drop-down list, select TRUE.

    Timeout

    Type an appropriate number of seconds before timeout should occur.

    Acquire queue

    Type the queue name, based on your provisioning with SWIFT.

    ForceAcquire

    From the drop-down list, select TRUE.

    Order by

    From the drop-down list, select FileAct.

    Push session

    From the drop-down list, select TRUE.

    Recovery mode

    From the drop-down list, select FALSE.

    SNL end-point

    Type the appropriate end-point for the SAG routing set. This value should match the SnL endpoint you configured in SAG.

  8. Click OK.

  9. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerIsolatedHost.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Store and Forward Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario


Step 3C: Add a FILE Send Port to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 3B: Add a FILEACT Receive Location for the FileAct Store and Forward Scenario.

To add a FILE send port to capture Sw:ResponseServer message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendResponseToReceiver.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Fileact\ResponseServer, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    First row: Property

    From the drop-down list, select BTS.MessageType.

    First row: Operator

    From the drop-down list, select ==.

    First row: Value

    Type Sw-HandleFileRequest.

    First row: Group by

    From the drop-down list, select OR.

    Second row: Property

    From the drop-down list, select BTS.MessageType.

    Second row: Operator

    From the drop-down list, select ==.

    Second row: Value

    Type Sw-HandleSnFRequest.

    Second row: Group by

    Leave the default value.

  9. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Store and Forward Scenario
Step 3B: Add a FILEACT Receive Location for the FileAct Store and Forward Scenario
Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario


Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 3C: Add a FILE Send Port to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward Scenario.

To add a FILEACT send port

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static Solicit-Response Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendRequest_SnF.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILEACT, and then click Configure.

  6. In the FILEACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Set the password as appropriate for SAG connectivity.

    User name

    Set the user name as appropriate for SAG connectivity.

    Adapter Mode

    From the drop-down list, select Store and Forward.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Request Type

    Set to the appropriate <RequestType> string, based on your provisioning with SWIFT.

    ResponseCrypto

    From the drop-down list, select FALSE.

    Requestor

    Set to the appropriate <Requestor> string, based on your provisioning with SWIFT.

    Responder

    Set to the appropriate <Responder> string.

    Service Name

    Set to the appropriate <service name>.

    Acknowledgement Indicator

    From the drop-down list, select FALSE.

    FileCompression

    From the drop-down list, select None.

    Event end-point

    Type the appropriate SAG end-point.

    Physical Folder Name

    Type C:\SWIFTAdapterTutorial\Fileact\ClientLocation.

    Transfer end-point

    Type the appropriate end-point for the SAG routing set. This value should match the SnL endpoint you configured in SAG.

    ServiceProfile

    From the drop-down list, select Transaction Count.

    Delivery notification

    From the drop-down list, select FALSE.

    Notify queue

    Type the queue name, based on your provisioning with SWIFT.

    Warning
    If message with Transaction Count is to be transferred, set the Service Profile Mode to “Transaction Count” in the FileAct send port.

  7. Click OK.

  8. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select the Fileact host.

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_FA_InputRequest_SnF.

    Group by

    Leave the default value.

  10. Click OK.

See Also

Tasks

Step 3A: Add a FILE Receive Location for the FileAct Store and Forward Scenario
Step 3B: Add a FILEACT Receive Location for the FileAct Store and Forward Scenario
Step 3C: Add a FILE Send Port to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward Scenario

Other Resources

Step 3: Create Send Ports and Receive Ports for the FileAct Store and Forward Scenario


Step 3E: Add a FILE Send Port for the FileAct Store and Forward Scenario to capture Sw-ExchangeSnFResponse messages

Before you begin this step, you must complete Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario.

To add a FILE send port to capture Status Events:

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_ GetStatusReports.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\Fileact\ StatusEvents, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    Select BTS.MessageType

    Operator

    Select ==

    Value

    Type Sw-HandleFileEventRequest

    Group

    Or

    Property

    Select BTS. MessageType

    Operator

    Select ==

    Value

    Type Sw-ExchangeSnFResponse


Step 4: Test FileAct Store and Forward End-to-End Scenario

Before you begin the steps in this section, you must complete Step 3E: Add a FILE Send Port for the FileAct Store and Forward Scenario to capture Sw-ExchangeSnFResponse messages.

In This Section

  • Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward Scenario

  • Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward Scenario

  • Step 4C: Create a Test Instance for the FileAct Store and Forward Scenario

  • Step 4D: Test a Valid Instance for the FileAct Store and Forward Scenario


Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 3D: Add a FILEACT Send Port for the FileAct Store and Forward Scenario.

To start the SWIFTNet service

  • Open a remote API command prompt, type SWIFTNET Start, and then press ENTER.

See Also

Tasks

Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward Scenario
Step 4C: Create a Test Instance for the FileAct Store and Forward Scenario
Step 4D: Test a Valid Instance for the FileAct Store and Forward Scenario

Other Resources

Step 4: Test FileAct Store and Forward End-to-End Scenario


Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward Scenario.

To start the send ports and receive ports

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the send ports.

  3. For each of the following send ports, right-click the send port, and then click Start:

    • Tutorial_FA_SendResponseToReceiver

    • Tutorial_FA_SendRequest_SnF

    • Tutorial_ GetStatusReports

  4. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the receive locations.

  5. For each of the following receive locations, right-click the receive location, and then click Enable:

    • Tutorial_FA_InputRequest_SnF

    • Tutorial_FA_HandleRequestOneWay_SnF

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward Scenario
Step 4C: Create a Test Instance for the FileAct Store and Forward Scenario
Step 4D: Test a Valid Instance for the FileAct Store and Forward Scenario

Other Resources

Step 4: Test FileAct Store and Forward End-to-End Scenario


Step 4C: Create a Test Instance for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward Scenario.

To create a test instance

  1. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <?xml version="1.0" encoding="utf-8"?>
<Sw-ExchangeFileRequest>
<Sw-FileRequest>
<Sw-FileOpRequest>
<Sw-PutFileRequest>
<Sw-PhysicalName>%PhysicalFolderName%\sample_put.txt</Sw-PhysicalName>
</Sw-PutFileRequest>
</Sw-FileOpRequest>
</Sw-FileRequest>
</Sw-ExchangeFileRequest>
    Note
    You must replace %PhysicalFolderName% with the actual folder name you configured in the FILEACT receive location.

  2. Save the file with the name “PutReqSimple.xml”.

  3. Make sure that the file (Sample_put.txt) is placed in the Client Location folder.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward Scenario
Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward Scenario
Step 4D: Test a Valid Instance for the FileAct Store and Forward Scenario

Other Resources

Step 4: Test FileAct Store and Forward End-to-End Scenario


Step 4D: Test a Valid Instance for the FileAct Store and Forward Scenario

Before you begin this step, you must complete Step 4C: Create a Test Instance for the FileAct Store and Forward Scenario.

To test a valid instance

  1. Drop the file PutReqSimple.xml into C:\SWIFTAdapterTutorial\Fileact\FileRequestDropSnF.

  2. Verify that after a moment, the PutReqSimple.xml file disappears from the folder.

  3. Verify that the Sample_Put.txt file is transferred from C:\SWIFTAdapterTurorial\Fileact\ClientLocation to C:\SWIFTAdapterTutorial\Fileact\ServerLocation, and that responses appear in C:\SWIFTAdapterTutorial\ResponseServer.

  4. Check status event (c:\SWIFTAdapterTutorial\Fileact\StatusEvents) folder for three HandleFileEventRequest messages. These messages should contain the following Transfer status:

    HandleFileEventRequest message<Sw-TransferStatus>Accepted</Sw-TransferStatus>

    HandleFileEventRequest message <Sw-TransferStatus>Initiated</Sw-TransferStatus>

    HandleFileEventRequest message <Sw-TransferStatus>Completed</Sw-TransferStatus>

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward Scenario
Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward Scenario
Step 4C: Create a Test Instance for the FileAct Store and Forward Scenario

Other Resources

Step 4: Test FileAct Store and Forward End-to-End Scenario


FileAct Store and Forward (Pull) Scenario

Before you begin the steps in this scenario, you must complete Preparing to Use the Tutorial.

In This Section

  • Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward (Pull) Scenario

  • Step 2: Create Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario

  • Step 3: Create and bind an orchestration with dynamic send port for the File Act Store and Forward (Pull) Scenario

  • Step 4: Test FileAct Store and Forward (Pull) End-to-End Scenario


Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Preparing to Use the Tutorial.

To configure the SWIFT adapter

  1. Start BizTalk Server Administration.

  2. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, right-click FILEACT, point to New, and then click Send Handler.

  3. In the FILEACT – Adapter HandlerProperties dialog box, on the General tab, from the Host name drop-down list, select FileActHost, and then click Properties.

  4. In the FILEACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: -SagMessagePartner <Fileact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    FACryptoMode

    From the drop-down list, select Advanced.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    False

    Event end-point

    Type the appropriate SAG end-point.

    PhysicalFolderName

    Type the name of the folder on the server. For example, C:\Fileact\ServerLocation.

    PollingInterval

    Type the appropriate value for PollingInterval. For example, 5. This indicates the interval (in seconds) after which the adapter checks for the status of file transfer.

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    User Name

    Type the user name you use to connect to SAG.

  5. Click OK to close the FILEACT Transport Properties dialog box.

  6. Click OK to close the FILEACT – Adapter Handler Properties dialog box.

  7. In the Message box, click OK, and then restart the FileAct host instance.

  8. Repeat step 1.

  9. In the console tree, expand BizTalk Server Administration, expand the BizTalk group, expand Platform Settings, expand Adapter, select FILEACT, open BizTalkServerApplication and then, click Properties.

  10. In the FILEACT Transport Properties dialog box, on the Properties tab, do the following:

    Use this To do this

    Arguments

    Type the following argument: –SagMessagePartner <Fileact Client Message Partner created in SAG>

    Note
    The client in the argument is the MessagePartner you configured in SAG.

    Crypto Mode

    From the drop-down list, select Advanced.

    LogMessageBody

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Note
    If you set to TRUE, it preserves the message body in the BizTalk Tracking database. However, for security reasons, the message body can never be viewed in the BAM portal.

    LogMessages

    From the drop-down list, select TRUE. This enables the message events to be captured and tracked in the BAM portal.

    Enable

    True

    Event end-point

    Type the appropriate SAG end-point.

    PhysicalFolderName

    Type the name of the folder on the server. For example, C:\Fileact\ServerLocation.

    PollingInterval

    Type the appropriate value for PollingInterval. For example, 5. This indicates the interval (in seconds) after which the adapter checks for the status of file transfer.

    Password

    Type the password you use to connect to SAG. See SAG Help for more information.

    Username

    Type the user name you use to connect to SAG.

  11. Click OK to close the FILEACT Transport Properties dialog box.

  12. Select make this the default handler option.

  13. Click OK to close the FILEACT – Adapter Handler Properties dialog box.

  14. In the Message box, click OK, and then restart the BizTalkServerApplication host instance.

See Also

Other Resources

Step 2: Create Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario
Step 3: Create and bind an orchestration with dynamic send port for the File Act Store and Forward (Pull) Scenario
Step 4: Test FileAct Store and Forward (Pull) End-to-End Scenario


Step 2: Create Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward (Pull) Scenario section.

In This Section

  • Step 2A: Add FILE Receive Locations for the FileAct Store and Forward (Pull) Scenario

  • Step 2B: Add FILE Send Ports to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward (Pull) Scenario

  • Step 2C: Add a FILEACT Send Port for the FileAct Store and Forward (Pull) Scenario


Step 2A: Add FILE Receive Locations for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 1: Configure the SWIFT Adapter for the FileAct Store and Forward (Pull) Scenario.

To add a FILE Receive location

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a receive port.

  3. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  4. In the Receive Port Properties window, name the receive port, Tutorial_FA_InputRequest_SnF.

  5. In the Receive Port Properties window, on the Receive Locations tab, click New.

  6. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  7. In the FILE Transport Properties dialog box, type C:\SWIFTAdapterTutorial\Fileact\FileRequestDropSnF, and then click OK.

  8. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. Click OK.

  10. Repeat steps 1 and 2.

  11. Right-click Receive Ports, point to New, and then click One-way Receive Port.

  12. In the Receive Port Properties window, name the receive port, Tutorial_ FA_InputRequest_PullMode.

  13. In the Receive Port Properties window, on the Receive Locations tab, click New.

  14. In the Receive Location Properties window, on the General tab, from the Transport type drop-down list, select FILE, and then click Configure.

  15. In the FILE Transport Properties dialog box, type C:\SWIFTAdapterTutorial\Interact\PullRequest, and then click OK.

  16. In the Receive Location Properties window, on the General tab, do the following:

    Use this To do this

    Receive handler

    From the drop-down list, select BizTalkServerApplication.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  17. Click OK.

See Also

Tasks

Step 2B: Add FILE Send Ports to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward (Pull) Scenario
Step 2C: Add a FILEACT Send Port for the FileAct Store and Forward (Pull) Scenario


Step 2B: Add FILE Send Ports to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete the Step 2A: Add FILE Receive Locations for the FileAct Store and Forward (Pull) Scenario section.

To add a FILE send port to capture the Sw: HandleFileRequest message

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static One-way Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendPullResponsetoReceiver.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILE, and then click Configure.

  6. In the FILE Transport Properties dialog box, in the Destination folder box, type C:\SWIFTAdapterTutorial\FileAct\PullResponse, and then click OK.

  7. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select BizTalkServerApplication.

    Send pipeline

    From the drop-down list, select XMLTransmit.

  8. Click OK.

  9. Repeat step 1 and 2.

  10. Right-click Send Ports, point to New, and then click Dynamic Solicit-Response Send Port.

  11. In the Send Port Properties window, name the send port, Tutorial_IA_DynamicSendPort.

  12. In the Send Port Properties window, do the following:

    Use this To do this

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  13. Click OK.

See Also

Tasks

Step 2A: Add FILE Receive Locations for the FileAct Store and Forward (Pull) Scenario
Step 2C: Add a FILEACT Send Port for the FileAct Store and Forward (Pull) Scenario


Step 2C: Add a FILEACT Send Port for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 2B: Add FILE Send Ports to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward (Pull) Scenario.

To add a FileACT send port

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application for which you want to create a send port.

  3. Right-click Send Ports, point to New, and then click Static Solicit-Response Send Port.

  4. In the Send Port Properties window, name the send port, Tutorial_FA_SendRequest_SnF.

  5. In the Send Port Properties window, from the Transport type drop-down list, select FILEACT, and then click Configure.

  6. In the FILEACT Transport Properties dialog box, do the following:

    Use this To do this

    Password

    Set the password as appropriate for SAG connectivity.

    User name

    Set the user name as appropriate for SAG connectivity.

    Adapter Mode

    From the drop-down list, select Store and Forward.

    Non-Repudiation Indicator

    From the drop-down list, select FALSE.

    Request Type

    Set to the appropriate <RequestType> string, based on your provisioning with SWIFT.

    RequestCrypto

    From the drop-down list, select FALSE.

    Requestor

    Set to the appropriate <Requestor> string, based on your provisioning with SWIFT.

    Responder

    Set to the appropriate <Responder> string.

    Service Name

    Set to the appropriate <service name>.

    Acknowledgement Indicator

    From the drop-down list, select FALSE.

    Event end-point

    From the drop-down list, select FALSE.

    File Compression

    From the drop-down list, select None.

    Physical Folder Name

    Type C:\SWIFTAdapterTutorial\Fileact\ClientLocation.

    Transfer end-point

    Type the appropriate end-point for the SAG routing set. This value should match the SNL endpoint you configured in SAG.

    ServiceProfile

    From the drop-down list, select Transaction Count.

    Delivery notification

    From the drop-down list, select FALSE.

    Notify queue

    Type the queue name, based on your provisioning with SWIFT.

    Note
    If message with Transaction Count is to be transferred, set the Service Profile Mode to “Transaction Count” in the FileAct send port.

  7. Click OK.

  8. In the Send Port Properties window, do the following:

    Use this To do this

    Send handler

    From the drop-down list, select the FileActHost.

    Send pipeline

    From the drop-down list, select XMLTransmit.

    Receive pipeline

    From the drop-down list, select XMLReceive.

  9. In the Send Port Properties window, on the Filters tab, do the following:

    Use this To do this

    Property

    From the drop-down list, select BTS.ReceivePortName.

    Operator

    From the drop-down list, select ==.

    Value

    Type Tutorial_IA_InputRequest_SnF.

    Group by

    Leave the default value.

  10. Click OK.

See Also

Tasks

Step 2A: Add FILE Receive Locations for the FileAct Store and Forward (Pull) Scenario
Step 2B: Add FILE Send Ports to Capture the Sw:HandleFileRequest and Sw:HandleSnFRequest Messages for the FileAct Store and Forward (Pull) Scenario


Step 3: Create and bind an orchestration with dynamic send port for the File Act Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Step 2C: Add a FILEACT Send Port for the FileAct Store and Forward (Pull) Scenario section.

In This Section

  • Step 3A: Create an orchestration for dynamic send port for FileAct Store and Forward (Pull) Scenario

  • Step 3B: Bind the orchestration with dynamic send port for FileAct Store and Forward (Pull) Scenario


Step 3A: Create an orchestration for dynamic send port for FileAct Store and Forward (Pull) Scenario

Before you begin the steps in this section, you must complete the steps in the Step 2C: Add a FILEACT Send Port for the FileAct Store and Forward (Pull) Scenario section.

To Create an Orchestration

  1. Create the Receive shape that subscribes to all of the messages of message type Sw-ExchangeSnFRequest.

  2. Add an Expression shape to get all of the required values from the ExchangeRequestSnF message. Refer to the following Expression Shape sample:

    Copy Code
    ExchangeSnFRequestDoc=ExchangeSnFRequest;
AcquireQueuePath="/Sw-ExchangeSnFRequest/Sw-SnFRequest/Sw-SnFOpRequest/Sw-AcquireSnFRequest/";

QueueNameNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath + "SwInt-Queue");
SessionModeNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-SessionMode");
ForceAcquireNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-ForceAcquire");
OrderByNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-OrderBy");
RecoveryModeNode=ExchangeSnFRequestDoc.SelectSingleNode(AcquireQueuePath+ "Sw-RecoveryMode");

QueueName=QueueNameNode.InnerText;
SessionMode=SessionModeNode.InnerText;
ForceAcquire=ForceAcquireNode.InnerText;
OrderBy=OrderByNode.InnerText;
RecoveryMode=RecoveryModeNode.InnerText;

MessageFormat="FileactMessage";
IsPull=true;

  3. Construct a message of type PullSnFRequest and the URL for Dynamic Send. Refer to the Assignment Shape of Construct Message sample:

    Copy Code
    PullMessage = new System.Xml.XmlDocument();
PullMessage.LoadXml(@"<Sw-PullSnFRequest/>");
PullRequest = PullMessage;

DynamicPull(Microsoft.XLANGs.BaseTypes.Address) = "FILEACT://localhost/" + QueueName + "/" + SessionMode + "/" + ForceAcquire + "/" + OrderBy + "/" + RecoveryMode + "/" + MessageFormat;

  4. In this sample, PullMessage is a message of type Sw-PullSnFRequest.

  5. Add a Send shape to send the PullMessage (pull request).

  6. Add a request-response port for sending the pull message and for receiving the pull response with the dynamic binding.

  7. Connect the Send shape with the port created in the previous step.

  8. Add a Receive shape to receive the PullResponse (message of type PullSnFResponse) and then connect the Receive shape with the port previously created.

  9. Send the response to the respective folder using a Send shape.

  10. Add all of these activities (sending a pull request and receiving the response) in a loop if you want to pull all of the messages.

  11. Add an Expression shape CheckQueueEmpty to keep pulling until the time queue is empty. Refer the following Expression Shape sample:

    Copy Code
    PullResponseDoc=PullResponse;
PullResponseNode=PullResponseDoc.SelectSingleNode("/Sw-PullSnFResponse/SwGbl-Status/SwGbl-StatusAttributes/SwGbl-Code");
if(PullResponseNode !=null && PullResponseNode.InnerText=="Sw.SnF.QueueEmpty")
{
    IsPull=false;
}

  12. This will set the IsPull = false, once the queue is empty.

See Also

Tasks

Step 3B: Bind the orchestration with dynamic send port for FileAct Store and Forward (Pull) Scenario


Step 3B: Bind the orchestration with dynamic send port for FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 3A: Create an orchestration for dynamic send port for FileAct Store and Forward (Pull) Scenario.

To add a FILE Receive location

  1. Start BizTalk Server Administration.

  2. In the BizTalk Server Administration Console, in the left pane, expand BizTalk Server Administration, expand BizTalk Group, expand Platform Settings, and then click Host Instances. Verify that the status for the BizTalkServerApplication host instance and FileActhost instance is running. If not, right-click the host instances, and click Start.

  3. In the left pane, expand Applications, and then expand BizTalk Application 1. Click Orchestrations.

  4. Right-click DynamicSendOrchestration and click Properties.

  5. In the Orchestration Properties dialog box, in the left pane, click Bindings and do the following:

    Use this To do this

    Host

    From the drop-down list, select BizTalkServer Application.

    Dynamic Pull

    From the drop-down list, select Tutorial_FA_DynamicSendPort.

    SendPullResponseToSender

    From the drop-down list, select Tutorial_FA_SendPullResponsetoReceiver.

See Also

Tasks

Step 3A: Create an orchestration for dynamic send port for FileAct Store and Forward (Pull) Scenario


Step 4: Test FileAct Store and Forward (Pull) End-to-End Scenario

Before you begin the steps in this section, you must complete the steps in the Step 3B: Bind the orchestration with dynamic send port for FileAct Store and Forward (Pull) Scenario section.

In This Section

  • Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward (Pull) Scenario

  • Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario

  • Step 4C: Create a Test Instance for the FileAct Store and Forward (Pull) Scenario

  • Step 4D: Test a Valid Instance for the FileAct Store and Forward (Pull) Scenario


Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 3B: Bind the orchestration with dynamic send port for FileAct Store and Forward (Pull) Scenario.

To start the SWIFTNet service

  • Open a remote API command prompt, type SWIFTNET Start, and then press ENTER.

See Also

Tasks

Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario
Step 4C: Create a Test Instance for the FileAct Store and Forward (Pull) Scenario
Step 4D: Test a Valid Instance for the FileAct Store and Forward (Pull) Scenario


Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward (Pull) Scenario.

To start the send ports and receive ports

  1. Start BizTalk Server Administration.

  2. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the send ports.

  3. For each of the following send ports, right-click the send port, and then click Start:

    • Tutorial_ FA_SendPullResponseToReceiver

    • Tutorial_ FA_SendRequest_SnF

    • Tutorial_ FA_DynamicSendPort

  4. In the console tree, expand the BizTalk group, and then expand the BizTalk application where you created the receive locations.

  5. For each of the following receive locations, right-click the receive location, and then click Enable:

    • Tutorial_ FA_InputRequest_SnF

    • Tutorial_ FA_InputRequest_PullMode

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward (Pull) Scenario
Step 4C: Create a Test Instance for the FileAct Store and Forward (Pull) Scenario
Step 4D: Test a Valid Instance for the FileAct Store and Forward (Pull) Scenario


Step 4C: Create a Test Instance for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario.

To create a test instance

  1. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <?xml version="1.0" encoding="utf-8"?>
<Sw-ExchangeFileRequest>
<Sw-FileRequest>
<Sw-FileOpRequest>
<Sw-PutFileRequest>
<Sw-PhysicalName>%PhysicalFolderName%\sample_put.txt</Sw-PhysicalName>
</Sw-PutFileRequest>
</Sw-FileOpRequest>
</Sw-FileRequest>
</Sw-ExchangeFileRequest>
    Note
    You must replace %PhysicalFolderName% with the actual folder name which you configured in the FILEACT receive location.

  2. Save the File with the name ExchangeReqSimple.xml.

  3. Open a new file in a text editor, such as Notepad, and paste the following:

    Copy Code
    <?xml version="1.0" encoding="utf-8" ?>
<Sw-ExchangeSnFRequest>
<Sw-SnFRequest>
<Sw-SnFOpRequest>
<Sw-AcquireSnFRequest>
<SwInt-Queue Type the queue name, based on your provisioning with SWIFT </SwInt-Queue>
<Sw-SessionMode>Pull</Sw-SessionMode>
<Sw-ForceAcquire>TRUE</Sw-ForceAcquire>
<Sw-OrderBy>InterAct</Sw-OrderBy>
<Sw-RecoveryMode>TRUE</Sw-RecoveryMode>
</Sw-AcquireSnFRequest>
</Sw-SnFOpRequest>
</Sw-SnFRequest>
</Sw-ExchangeSnFRequest>

  4. Save the File with the name acquirequeue.xml.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward (Pull) Scenario
Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario
Step 4D: Test a Valid Instance for the FileAct Store and Forward (Pull) Scenario


Step 4D: Test a Valid Instance for the FileAct Store and Forward (Pull) Scenario

Before you begin this step, you must complete Step 4C: Create a Test Instance for the FileAct Store and Forward (Pull) Scenario.

To test a valid instance

  1. Drop the file PutReqSimple.xml into C:\SWIFTAdapterTutorial\Fileact\FileRequestDropSnF.

  2. Verify that after a moment, the PutReqSimple.xml file disappears from the folder.

  3. Drop the file fileactcquirequeue.xml into C:\SWIFTAdapterTutorial\FileAct\PullRequest.

  4. Verify that the Sample_Put.txt file is transferred from C:\SWIFTAdapterTutorial\Fileact\ClientLocation to C:\SWIFTAdapterTutorial\Fileact\ServerLocation, and that responses appear in C:\SWIFTAdapterTutorial\PullResponse.

See Also

Tasks

Step 4A: Start the SWIFTNet Service for the FileAct Store and Forward (Pull) Scenario
Step 4B: Start the Send Ports and Receive Ports for the FileAct Store and Forward (Pull) Scenario
Step 4C: Create a Test Instance for the FileAct Store and Forward (Pull) Scenario


Understanding FileAct and InterAct Adapter Architecture

The SWIFT Adapter is based on the BizTalk Adapter Framework. Using the classifications of adapters within BizTalk Server, the SWIFT adapters, FileAct and InterAct, represent the following:

  • Custom Adapter. This is a custom adapter built specifically to interact with the SWIFT network using a proprietary standard called FileAct and Interact.

  • Transport Adapter. This adapter allows business software application to send and receive messages with the SWIFT network.

  • Non-transacted. The adapter does not make use of any transaction object to interact with the SWIFT network.

  • Isolated. The receive adapter runs in a separate process and regular send adapters run in process.

For information about the BizTalk Adapter Framework, see the "What Is the Adapter Framework?" topic in BizTalk Server Help.

The following figure shows a high-level view of the FileAct and InterAct architecture.

Note
Microsoft BizTalk 2013 FileAct and InterAct Adapters supports only strict mode SWIFTNet Link (SNL) API.

In This Section

  • SWIFTNet Client and Server

  • SWIFT Send Adapter Architecture

  • SWIFT Receive Adapter Architecture

  • FileAct Adapter Architecture

  • InterAct Adapter Architecture


SWIFTNet Client and Server

SWIFT uses the terms client and server to describe sending and receiving. A SWIFT client is a process that calls the SWIFTNet Link (SNL) to initiate communication over SWIFTNet. In BizTalk Server, this is called the send adapter. A SWIFT server is a program that is called by the SNL when traffic comes in over SWIFTNet. In BizTalk Server, this is called the receive adapter.

Do not confuse the SWIFT client and server with the business client and server. For example, a client (organization) relies on the services provided by a server (organization). If the server (organization) wants to initiate a communication with the client (organization), it must use an SNL client application to do so, and the client (organization) must have an SNL server application to receive the incoming traffic. This is described in the following figure.

SWIFTNet relationship between client and server

SNL assumes both client and server applications are executables started from the command prompt. They both link to the SNL API DLL, which communicates with the actual SNL instance process.

SNL client applications

SNL client applications rely on the SwCall API described below. Technically speaking, a typical client application can be described as follows:

Copy Code
Main:
  Initialize SNL API
  Repeat
    Call SwCall API
  Until shutdown

SNL client applications must run in a dedicated process, because SNL references the client context by process ID. SNL synchronizes calls that use Tuxedo resources to SwCall. As a result, only a single client thread at a time can effectively execute a SwCall.

The client supports the synchronous communication mode. This means that the return on the SWCall occurs when the response comes back from the server. The next SwCall can be performed only after this return.

SNL server applications

SNL server applications are slightly more complex than the client applications. Server applications register callback functions before performing a blocking call into the SNL DLL. Technically speaking, a typical server application can be described as follows:

Copy Code
Main:
  Initialize SNL API
  Call SwRegisterSwCallback, registering the Callback function
  Call SwServer, block and receive callbacks

Callback(Request):
  Process Request
  Return Response

The server application can call the SwCall API while in the callback function. In some cases it must call SwCall to be able to produce the desired result or response. However, a server application can never initiate a communication over the network. A server application can never be a client application.

In the following figure, the call labeled Initialize is an abstraction for the SNL API initialization process, which requires multiple calls. The call labeled SwCallback() will be repeated several times, and the call labeled SwCall() is optional.

SNL Server functionality

All calls between the server and the SNL API DLL are standard C calling convention synchronous function calls.

See Also

Other Resources

Understanding FileAct and InterAct Adapter Architecture
SWIFT Send Adapter Architecture
SWIFT Receive Adapter Architecture


SWIFT Send Adapter Architecture

In general, BizTalk Server send adapters are hosted in the BizTalk service process, Btsntsvc.exe. This means that BizTalk Server manages the lifetime of the adapter.

There are two ways of sending messages to the SWIFT network: synchronous (ExchangeRequest) and asynchronous (not implemented for this release). In BizTalk Server, the send adapter should support the following communication patterns to interact with the BizTalk Messaging Engine:

  • Solicit response — messages are exchanged in pairs, called the primitives, with the SWIFT network. Any messages sent to SWIFT will have a response be it business, acknowledgement or error. The response message is submitted back to messagebox. This mode of operation is used for Real-Time communication.

  • One way send — the adapter when configured in one way operates in store and forward mode. The messages are sent to a preconfigured queue as opposed to a receipient. The sender can retrieve the response by opening a session with the queue in push or pull mode.

Note
The way you create the adapter affects the way it operates.

In This Section

  • SWIFT Send Adapter URI

  • SWIFT Send Adapter Dynamic Send

  • SWIFT Send Adapter Initialization

  • SWIFT Send Adapter Synchronous Mode

  • SWIFT Send Adapter Termination


SWIFT Send Adapter URI

The URI for the send adapter is the constructed based responder name (SWIFT://<Responder Name>). Responder name is a distinguished name defined by SWIFT. It indicates to whom the message needs to be sent. SWIFT uses this value to route the message to the recipient.

See Also

Concepts

SWIFT Send Adapter Dynamic Send
SWIFT Send Adapter Initialization
SWIFT Send Adapter Synchronous Mode
SWIFT Send Adapter Termination

Other Resources

SWIFT Send Adapter Architecture


SWIFT Send Adapter Dynamic Send

The send adapter dynamic send mode pulls messages from the queue. The URI for dynamic send is:

Copy Code
SWIFT://<queue name>/<Force Acquire>/<Session Mode>/<Order By>/<Recovery mode>

You can use an orchestration or a pipeline to construct the URI.

See Also

Concepts

SWIFT Send Adapter URI
SWIFT Send Adapter Initialization
SWIFT Send Adapter Synchronous Mode
SWIFT Send Adapter Termination

Other Resources

SWIFT Send Adapter Architecture


SWIFT Send Adapter Initialization

Before sending a message to SWIFT, the send adapter must be initialized. The following figure shows the initialization sequence.

Send adapter initialization sequence

See Also

Concepts

SWIFT Send Adapter URI
SWIFT Send Adapter Dynamic Send
SWIFT Send Adapter Synchronous Mode
SWIFT Send Adapter Termination

Other Resources

SWIFT Send Adapter Architecture


SWIFT Send Adapter Synchronous Mode

The following diagram shows the sequence of actions that the send adapter in synchronous mode performs to send a message over SWIFT.

Send adapter synchronous mode

See Also

Concepts

SWIFT Send Adapter URI
SWIFT Send Adapter Dynamic Send
SWIFT Send Adapter Initialization
SWIFT Send Adapter Termination

Other Resources

SWIFT Send Adapter Architecture


SWIFT Send Adapter Termination

The adapter must terminate gracefully when the BizTalk service is shutdown. The sequence is shown in the following figure.

Store and forward termination sequence

See Also

Concepts

SWIFT Send Adapter URI
SWIFT Send Adapter Dynamic Send
SWIFT Send Adapter Initialization
SWIFT Send Adapter Synchronous Mode

Other Resources

SWIFT Send Adapter Architecture


SWIFT Receive Adapter Architecture

In BizTalk Server, the receive adapter is hosted within its own memory space, which means a separate process is created to run the host. This host is spawned by defining a subsystem in the SWIFTNet Link (SNL) configuration.

The server executable is configured as a subsystem in the SNL configuration (paramfile) and is spawned by executing the SWIFTNet Start command. The SNL server application is terminated by executing the SWIFTNet Stop command. SNL manages the lifetime of the server executable.

Note
The service bureau scenario requires the adapter to service multiple SWIFT members running under their own security contexts. This can be supported by configuring an individual receive location per member and spawning multiple instances of the server executable — each one dedicated to one receive location.

In BizTalk Server, the receive adapter supports the following communication patterns to interact with the BizTalk Messaging Engine:

  • One way — this mode is required when the receive adapter (server) is operating in deferred mode. In deferred mode, the adapter sends a default acknowledgment for incoming messages. The default values for the acknowledgment can be configured in the adapter properties. Business level response can be sent later by the LOB application through the send adapter.

    Note
    In case of deferred mode, all values must be filled up in the adapter configuration, since the adapter is constructing the response.

  • Request response — in this mode the adapter submits the request from SWIFT to BizTalk and waits for response. The adapter would timeout if there is no response from the LOB application. The time out value is configurable in adapter configuration. The default value is 60 seconds.

    The receive adapter can receive the callback from SNL only on one thread. This means that the receive adapter can receive further messages from SNL only after submitting the first message. Therefore, the default batch size is set to 1.

In This Section

  • SWIFT Receive Adapter URI

  • SWIFT Receive Adapter Initialization

  • SWIFT Receive Adapter Security Context

  • SWIFT Receive Adapter Synchronous and Deferred Modes

  • SWIFT Receive Adapter Store and Forward


SWIFT Receive Adapter URI

The URI for the receive adapter is constructed based on the Tuxedo end point information (SWIFT://<SwTuxSrv>) for the SWIFTNet Link (SNL), and the message partner (SWIFT://<SagMessagePartner>) information for the SWIFTAlliance Gateway receive adapter (SAG-RA) deployment.

This is represented as the Application name property on the receive adapter property page.

See Also

Concepts

SWIFT Receive Adapter Initialization
SWIFT Receive Adapter Security Context
SWIFT Receive Adapter Synchronous and Deferred Modes
SWIFT Receive Adapter Store and Forward

Other Resources

SWIFT Receive Adapter Architecture


SWIFT Receive Adapter Initialization

The initialization process for the SWIFT server application is similar to that for the SWIFT client application. The initialization arguments are passed as command line parameters to the receiver executable. The application name, configured in the receive location during design time, is passed as a command line argument. This application name is used to construct the receive location URI to retrieve the configured properties.

For information about using the command line argument, see the "How to Configure the Receive Adapter Environment" topic in Microsoft BizTalk 2013 FileAct and InterAct Adapters Installation and Configuration Guide.

See Also

Concepts

SWIFT Receive Adapter URI
SWIFT Receive Adapter Security Context
SWIFT Receive Adapter Synchronous and Deferred Modes
SWIFT Receive Adapter Store and Forward

Other Resources

SWIFT Receive Adapter Architecture


SWIFT Receive Adapter Security Context

The Receiver adapter, unlike send adapter, is started from the SWIFTNet Link (SNL/RA) command prompt (SWIFTNet start). The receive adapter executable is configured in the SNL/RA configuration file (paramconfig). The adapter on startup initializes the SNL library based on the command line parameter. The configuration values are cached for later use.

The following figure shows the configuration of the receive adapter security context.

SWIFT receive adapter security context

See Also

Concepts

SWIFT Receive Adapter URI
SWIFT Receive Adapter Initialization
SWIFT Receive Adapter Synchronous and Deferred Modes
SWIFT Receive Adapter Store and Forward

Other Resources

SWIFT Receive Adapter Architecture


SWIFT Receive Adapter Synchronous and Deferred Modes

SWIFTNet Link (SNL) server applications can operate in two different modes: synchronous and deferred mode. In synchronous mode, the server application sends a business response back to the client application. In deferred mode, the server application sends a technical acknowledgement back to the client application.

The following figure shows the sequence.

Receive adapter synchronous and deferred mode

The following figure shows a high level representation of the receive side.

Receive adapter scenario

See Also

Concepts

SWIFT Receive Adapter URI
SWIFT Receive Adapter Initialization
SWIFT Receive Adapter Security Context
SWIFT Receive Adapter Store and Forward

Other Resources

SWIFT Receive Adapter Architecture


SWIFT Receive Adapter Store and Forward

The receive adapter receives messages from the SWIFT store and forward (SnF) queue. To receive messages from the queue, the adapter must open a session with the SnF queue. To open the queue, it must have a dedicated client process that establishes the session with the queue. In the design, this process is implemented as a COM plus out-of-proc component.

Push session store and forward sequence

The following list describes the store and forward sequence.

  1. Start the server application that processes the messages.

  2. The server process opens the required security contexts during the first SwCallback with the Sw:HandleInitRequest as an input primitive.

  3. The server responds to the Sw:HandleInitRequest with either or both Sw:CryptoMode and Sw:FACryptoMode set to Advanced.

    The server is now ready to start processing incoming requests.

  4. To start the delivery of messages from a queue, a client process starts a push session. Based on the adapter configuration (push mode), the receive adapter spawns a client process called SnFQueueManager.exe to acquire the queue in push mode.

  5. An SwCall() runs with Sw:AcquireSnFRequest (within the Sw:ExchangeSnFRequest) as an input primitive. This request starts a session with the queue indicated (if the SwSec:AuthorisationContext has the required RBAC role).

  6. Immediately after responding with “Accepted” in the Sw:AcquireStatus, SWIFTNet SnF starts sending messages to the server as specified in the acquire. If the receive adapter was not yet started, messages get exceptions. (That is why it is important to have the receive adapters already started).

  7. SWIFTNet SnF starts pushing a number of messages (up to the window size).

  8. For every message acknowledged, a new message (if any) is pushed.

  9. The client process (SnFQueueManager.exe) has done its job and can now terminate. The process issues SwSec:DestroyContextRequest, which cleans up the open security contexts. After the Sw:TermRequest, the process exits.

Message Correlation

The RequestRef field is preserved and substituted back in the response messages by the receive adapter. This ensures end to end correlation between the incoming message and the response message

Duplicate processing

If receiving a FileAct request, and the adapter instance receives a message with a Possible Duplicate Indicator node, then it must check to see if the referenced transfer has already completed successfully or if it has failed, and take the appropriate action. If the file transfer has already taken place then the adapter updates the transfer status as “Duplicate” otherwise it updates it as “Accepted.”

Acknowledgments

If the sender requests an acknowledgement for a FileAct request, the adapter checks for the file transfer completion event and generates the acknowledgement after verifying the file digest value. The adapter sends the acknowledgement message to BizTalk for the send adapter to pick it up and send it to the sender.

See Also

Concepts

SWIFT Receive Adapter URI
SWIFT Receive Adapter Initialization
SWIFT Receive Adapter Security Context
SWIFT Receive Adapter Synchronous and Deferred Modes

Other Resources

SWIFT Receive Adapter Architecture


FileAct Adapter Architecture

This section contains information about the architecture of the FileAct adapter.

In This Section

  • FileAct Adapter Real-Time End-to-End Primitives

  • FileAct Adapter Real-Time Local Primitives

  • FileAct Adapter Store and Forward

  • FileAct Adapter Security Architecture

  • FileAct Adapter File and Transfer Identification

  • FileAct Adapter Supporting Information Transfer

  • FileAct Adapter Delivery Notification

  • FileAct Adapter Status Monitoring


FileAct Adapter Real-Time End-to-End Primitives

SWIFTNet primitives are a pair of XML documents exchanged between the application and SWIFTNet Link (SNL). For each end-to-end primitive, there are two versions of the primitive – one at the client (or send) side and one at the server (or receive) side. This comprises a total of four messages: Put File primitive, Get File primitive, and a Send Delivery Notification for each.

The following figure shows the FileAct end-to-end primitives.

FileAct end-to-end primitives

Put File

An application initiates the Put File primitive to send a file to the file system of another SWIFTNet user. As an end-to-end function, there are both client-side and server side Put File primitives. These collaborate together to successfully complete a file transfer.

Each such collaboration sends a single file. Multiple Put File primitives may be exercised in parallel.

Get File

An application initiates the Get File primitive to retrieve a file from the file system of another SWIFTNet user. As an end-to-end function, there are both client-side and server-side Get File primitives. These collaborate together to successfully complete a file transfer.

Each such collaboration retrieves a single file. Multiple Get File primitives may be exercised in parallel.

Send Delivery Notification

Every Put File and every Get File primitive has the option of having the sending side of the file request that the receiving side return a delivery notification related to the file transfer. For a Put File primitive, the request message contains the request for a delivery notification.

In the case of a Get File primitive, the response message contains the request for a delivery notification.

In either case, after verifying that the file was received in its entirety (by exercising one of the status primitives to check that the transfer reaches the state Completed) and that the file has been adequately safe stored (for example, on a back-office system), the receiving application separately exercises the Delivery Notification primitive to return a positive confirmation of delivery to the sender. As an end-to-end function, there are both client-side and server-side Delivery Notification primitives. These collaborate together to successfully complete a file delivery notification.

Delivery notification requires the service designer to establish and enforce a protocol between the senders and receivers of files.

See Also

Concepts

FileAct Adapter Real-Time Local Primitives
FileAct Adapter Store and Forward
FileAct Adapter Security Architecture
FileAct Adapter File and Transfer Identification
FileAct Adapter Supporting Information Transfer
FileAct Adapter Delivery Notification
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter Real-Time Local Primitives

Local primitives involve two messages each, which are exchanged between the client SWIFTNet Link (SNL) and the local FileAct subsystem.

The following figure shows the FileAct local primitives.

FileAct local primitives

Get Status for a Single Transfer

The Get Status primitive retrieves status information concerning one transfer from the local persistent context.

Subscribe to Transfer Events

Progressive transfer status information may be received on an event-by-event basis by using the Subscribe Event primitive. Each file transfer may be linked to a named entity called an event endpoint during the negotiation. An event server that invokes the Subscribe Event primitive directs all the event reports for one such an event endpoint to itself.

An event server can subscribe to characteristics (different levels of detail, as well as to different event types).

An event server may invoke the primitive multiple times to subscribe to multiple event endpoints. Only one event server may subscribe to any particular event endpoint at a given time. Additionally, an event server can invoke the primitive multiple times for the same event endpoint for changing the characteristics.

Receive Transfer Events

Receive Transfer Events is the primitive that handles the event-by-event status information concerning transfers-in-progress. It responds to the terms of a subscription that is set up by the Subscribe Event primitive. This primitive can be implemented at the sending or receiving side of a transfer.

Abort Transfer

A user application may abort a transfer-in-progress using the Abort primitive. The Abort primitive is a primitive that may be exercised from either the sending-side or the receiving-side of a transfer-in-progress. When initiating or accepting a transfer, each side has the option of establishing a transfer key that serves as an access key to protect that transfer from its own side. If a transfer key is established for a transfer-in-progress, it may not be aborted from that side without supplying the transfer key value in the exercise of the Abort primitive.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Store and Forward
FileAct Adapter Security Architecture
FileAct Adapter File and Transfer Identification
FileAct Adapter Supporting Information Transfer
FileAct Adapter Delivery Notification
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter Store and Forward

In Store and Forward (SnF) mode, files are delivered to queue at send time, and are retrieved from the queue by the destination. Intermediate responses are returned by SWIFTNet to the sender until the file is safely delivered to the destination.

Sending Using SnF

If you create a one-way send port, the adapter works in SnF mode and sends messages to the queue.

Receiving Using SnF

SnF FileAct operates in Push mode. This is a run-time option.

Before being able to retrieve messages from a queue, SWIFTNet SnF should receive a request to acquire the queue. This is accomplished by the receive adapter invoking the out-of-proc COM+ component. After a successful acquire, a session is created. The queue will then be opened in the mode specified in the Request. All messages will be returned to the physical node which issued the request.

Messages are delivered in the order specified (note that InterAct and FileAct transmissions can be interspersed, and arranged by priority.) The sequencing of messages, however, is dependent on the time that they were stored. In the case of FileAct, this is the time that the file storage is completed, not when it started.

Push a File From the Queue

The FileAct adapter (server) receives a HandleFileRequest from SWIFTNet, containing the queue, session and sequence information. The server responds with a HandleFileResponse.

The server then issues FetchFileRequest and the file is delivered to the server.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Real-Time Local Primitives
FileAct Adapter Security Architecture
FileAct Adapter File and Transfer Identification
FileAct Adapter Supporting Information Transfer
FileAct Adapter Delivery Notification
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter Security Architecture

Security for the file transmission and receipt is implemented using the certificate and crypto features inherent in SNL and the SAG. The management of certificates, etc., is completely outside of the scope of the FileAct Adapter. As long as the associated SNL/SAG instance is registered for the FileAct service with SWIFT and the software properly installed on SNL/SAG, the adapter makes use of the facilities throught the SNL APIs. The FileAct Adapter will always set the FACryptoMode to “Advanced” (best practice).

Note
For the adapter, you can create a separate security context for each send port.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Real-Time Local Primitives
FileAct Adapter Store and Forward
FileAct Adapter File and Transfer Identification
FileAct Adapter Supporting Information Transfer
FileAct Adapter Delivery Notification
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter File and Transfer Identification

The A4SWIFT FileAct adapter permits the developer to supply file and transfer identification specifics at runtime. These parameters include the following:

  • Physical file name – the full path and name of the file to be read or written. This parameter is never passed, and is local to the file handler component.

  • Logical file name – the file name passed from the sending application to the receiving application across SWIFTNet. This is optional, and, if not supplied, the physical file name without the path is used.

  • File transfer event endpoint – the name specified in the Subscribe Event primitive by the application handling the file transfer events. This parameter links the file transfer to the application which receives the event reports.

  • File Transfer Reference – a token string created and used by the FileAct subsystem as a handle on the transfer, itself. This is simply a string unique to this transfer, as far as the FileAct adapter is concerned.

  • Transfer Key – a string assigned by the application to identify the transfer for abort purposes. If not provided by the application, this is the GUID associated with the file.

  • Transfer Partition – a string used to relate multiple transfers. If not supplied in the calls by the developer, this will be the “Application Name” specified when defining the relevant send or receive location.

  • User Reference – a string defined by the application to uniquely identify the transfer for non-repudiation. If not provided by the application, this will be the GUID associated with the file.

  • Message ID – the identifier uniquely defining the initial request or response. This is the GUID associated with the appropriate request or response message, as generated by the sending adapter. Thus, the client generates the Message ID for requests and the server does so for responses.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Real-Time Local Primitives
FileAct Adapter Store and Forward
FileAct Adapter Security Architecture
FileAct Adapter Supporting Information Transfer
FileAct Adapter Delivery Notification
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter Supporting Information Transfer

The FileAct adapter permits the optional transfer of supporting information with files. This information is transferred at the discretion of the application. The adapter does not do any special processing of this information on the originating side except to validate that it is in the correct format. The elements which comprise supporting information include:

  • File description and file information

  • Transfer description and transfer information

  • Acknowledgement description and acknowledgement information

  • Rejection description and reject information

Note
One of the components of file information defines compression and decompression. Compression and decompression are the responsibility of the application, not the adapter.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Real-Time Local Primitives
FileAct Adapter Store and Forward
FileAct Adapter Security Architecture
FileAct Adapter File and Transfer Identification
FileAct Adapter Delivery Notification
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter Delivery Notification

After verifying the completion of receipt (including signature and digest verification) as indicated in the message request, the FileAct adapter transmits the appropriate delivery notification to the sender.

Likewise, when the FileAct adapter receives a delivery notification is received, it transmits the proper response.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Real-Time Local Primitives
FileAct Adapter Store and Forward
FileAct Adapter Security Architecture
FileAct Adapter File and Transfer Identification
FileAct Adapter Supporting Information Transfer
FileAct Adapter Status Monitoring

Other Resources

FileAct Adapter Architecture


FileAct Adapter Status Monitoring

The possible states of a file transfer and the transitions between those states are illustrated in the following figure.

FileAct adapter file transfer states

The file transfer states are:

  • Initiated – The client has sent the negotiation message to the server, but has not yet received the response. The server has received the negotiation request, but has not yet sent the response.

  • Accepted – The server has accepted the request and has sent the TransferAnswer in the response message, and the transfer is still in progress.

  • Rejected – The server has rejected the request and has the TransferAnswer in the response message, and has terminated the transfer.

  • Ongoing – The transfer is in progress and is proceeding (renewed periodically as above).

  • Completed – The file transfer has completed successfully as far as that side of the transfer is concerned, including the comparison of the digest value.

  • Failed – The file transfer has failed because of a data access, processing, communications or timeout exception. (Note: Timeout is enforced by SWIFTNet Link, and the value is determined by SWIFT).

  • Aborted – The file transfer has been aborted (either side my issue the abort).

  • Unknown and Duplicated – This state occurs only because of timing. In the case of a sender, the file should be re-sent marked as possibly duplicated (PDIndicator). In the case of a receiver, when the PDIndicator implies that the file might have already been sent, the FileAct Adapter will check for the duplication, and if found, will return a TransferAnswer of Duplicated, which will terminate the current attempt.

See Also

Concepts

FileAct Adapter Real-Time End-to-End Primitives
FileAct Adapter Real-Time Local Primitives
FileAct Adapter Store and Forward
FileAct Adapter Security Architecture
FileAct Adapter File and Transfer Identification
FileAct Adapter Supporting Information Transfer
FileAct Adapter Delivery Notification

Other Resources

FileAct Adapter Architecture


InterAct Adapter Architecture

This section describes the primitives of InterAct from a functional point of view. The detailed structure, syntax, and usage for the primitives is well-documented in the SWIFT references, and is not repeated here.

In This Section

  • InterAct Adapter Components

  • InterAct Adapter Messages for Business Exchange

  • InterAct Adapter Client Application

  • InterAct Adapter Server Application

  • InterAct Adapter Store and Forward

  • InterAct Adapter Security Architecture

  • InterAct Adapter End-to-End Reliable Delivery

  • InterAct Adapter Status Monitoring

  • InterAct Adapter Non-Repudiation


InterAct Adapter Components

The InterAct adapter has a client and a server component. Note that there may be an A4SWIFT (minimal) installation on the same computer as the SWIFT Alliance Gateway (SAG) if it is running Windows Server. Also note that the SWIFTNet Link (SNL) may be on a separate computer from the SAG. The remote application programming interface (API) host adapter provided by SWIFT is used to communicate from A4SWIFT to the SAG, regardless of the location of the components.

The figure below shows where the components comprising the entire adapter and communications chain related to the InterAct adapter reside.

In the following figure, the client application uses A4SWIFT and the InterAct adapter. BizTalk Server is the middleware, which communicates to the remote API host adapter over TCPIP.

InterAct client application

In the following figure, the server application uses A4SWIFT and the InterAct adapter. BizTalk Server is the middleware, which communicates to the remote API host adapter over TCPIP.

InterAct server application

See Also

Concepts

InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Messages for Business Exchange

There are four messages in the InterAct adapter end-to-end cycle. These messages are SWIFTNet primitives. The first and last messages comprise the client-side primitives, SwInt:ExchangeRequest and SwInt:ExchangeResponse. The middle two messages comprise the server-side primitives, SwInt:HandleRequest and SwInt:HandleResponse.

At this level of simplification, there are six steps in the end-to-end message cycle:

  1. The client application prepares the request message.

  2. The client application passes the request message to SWIFTNet.

  3. SWIFTNet processes the request message, and sends it to the server application.

  4. The server application receives the request message from SWIFTNet.

  5. The server application prepares the response message.

  6. The server application passes the response message to SWIFTNet.

  7. SWIFTNet processes the response message, and sends it to the client application.

  8. The client application receives the response message from SWIFTNet.

The following figure shows the InterAct message exchange.

InterAct message exchange

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Client Application

InterAct adapter client application request messages are XML documents passed from the client application to the client-side SWIFTNet Link (SNL). Messages of this type occur as the first part of the SWIFTNet Request/Response primitives exercised on the client side.

This topic describes the SwInt:ExchangeRequest message. It is used for “synchronous” client-side calls to SWIFTNet. In this context, “synchronous” means that the function call blocks the client application, forcing it to wait until the Response is received from the server-side application. (Or, alternatively, an error condition occurs and that error is reported back to the client.)

The cryptographic blocks (SwSec:Crypto), if they exist, contain the results of message signing and/or verification processing. Also, at certain processing stages, they may contain instructions that direct cryptographic processing that is to be performed by the SNL.

InterAct Adapter Payload Format

The Request Payload contains the substance of the business message. The structure of the payload must conform to the requirements of well-formed XML (this simply means that the payload does not break the XML parsing, but as such, it does not have to use the XML document structure). If SWIFTNet Message Validation is applied, then there are other structural requirements to which the payload must conform. Aside from that, the payload structure and contents are determined by the business application.

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Server Application

This section presents a general description of the composition of server application Request messages. These are the XML documents passed from the server-side SNL to the server application. As such, these messages are characteristic of the first part of the SWIFTNet primitives exercised on the server side.

The following figure shows the server request message.

Server request message

The following figure shows the sequence of messages exchanged between SNL and the InterAct server application.

InterAct adapter server application

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Store and Forward

In Store and Forward (SnF) mode, messages are delivered to a queue at send time, and are retrieved from the queue by the destination. When using SnF, the response comes from SWIFTNet SnF itself, and does not contain any feedback from the Responder.

Messages and files can be routed into queues with the same flexibility as a message routed to a server process when not using SnF. This definition is within MRR (inside of SWIFTNet). It is the Receiver who decides in which queue a message or file will be put after it is sent by the Sender. Putting a message or file in a queue is done by flagging the message for SnF delivery mode (within the RequestControl).

Retrieving a message from a queue can occur in two different modes, depending on the choice made by the application designer. These modes are called push and pull.

When using the push mode, the initiative to deliver a message resides with SWIFTNet SnF. The message is then “pushed” from SWIFTNet SnF and is received by an application server on SWIFTNet Link. The server application has to ensure that the message is safestored before responding with an acknowledgement. This acknowledgement indicates to SWIFTNet SnF how the message was received. An acknowledgement does not contain any other additional “business” logic.

Queues in SWIFTNet

Queues contain the messages and files that were sent by the Sender to be delivered to the specified Receiver. Queues contain as well the delivery notifications that are generated by SWIFTNet SnF.

Queues are defined and configured by the Receiver’s organization. The actual creation of a queue is done by SWIFT on request of the user. The Sender does not know anything about the queue in which the message will ultimately be put. That is entirely under control of the Receiver.

The queue Window Size attribute controls the maximum number of messages SWIFTNet SnF retrieves from a queue without acknowledgement. The receiver still has to acknowledge the message before the slot in the window is freed up.

Delivery into a Queue

For services using store-and-forward the Receiver decides which queue will be used to store the message that was sent in store-and-forward mode.

Delivery notifications are put into a queue of the Senders institution, to inform the Sender about the delivery status of a message sent. This is configurable with the send adapter properties.

Sessions

When acquiring a queue, a session is started. The Sw:SnFSessionId is returned for every message that is delivered by SWIFTNet SnF. The Sw:SnFSessionId contains the queue name, the session mode: push, and a session number. The session number is incremented for every session. An example is:

<Sw:SnFSessionId>bankwxyz_applicq1:p:000458</Sw:SnFSessionId>

The “p” indicates a push session. A session can also be seen as a reservation of the queue by an Authorizer. The subsequent messages have to be acknowledged by the same Authorizer.

Sessions are not applicable when sending messages to store-and-forward.

Push session SnF

The following figure shows the push session SnF sequence.

The sequence diagram assumes the following:

  • The client process has done its job and can now terminate. To do this, the open security contexts must be cleaned up by issuing an SwSec:DestroyContextRequest. After the Sw:TermRequest, the process may exit().

  • Another client is started. The initialization steps are the same as for the first client. The release of the queue is by performing an SwCall with the Sw:ReleaseSnFQueueRequest as input primitive.

    SWIFTNet stops delivery of messages from the queue as soon as it successfully processes the release of the queue.

In the sequence diagram, the server processes one request at the time. SWIFTNet SnF delivers several requests out of the queue. These are buffered within the network and SWIFTNet Link until the server responds, or a timeout occurs.

It is possible that some requests were already being delivered, but not yet acknowledged before releasing the queue. SWIFTNet SnF does not process any more acknowledgements for these messages until the queue is released. These messages will be re-delivered in a subsequent session.

It is left to the local implementation whether the server application still responds with a positive acknowledgement for requests delivered from a queue after the client has issued the release of that queue, but typically this would not be the case.

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Security Architecture

Security for the message transmission and receipt is implemented using the certificate and crypto features inherent in SWIFTNet Link (SNL) and the SWIFTAlliance Gateway (SAG). SWIFT recommends that services designed for InterAct to apply an “end-to-end” signature—that is, to sign both request and response messages.

The cryptographic operations are implemented by the security module of SWIFTNet Link. This module allows signature and encryption using PKI keys. The nature and extent of cryptography operations are specified as part of the Request and Response Control data structures passed to the APIs.

SWIFTNet supports the sign/encrypt of the RequestPayload or ResponsePayload. Also the RequestHeader or ResponseHeader can be signed.

Signing/Encrypting Requests and Responses

The rules for applying cryptographic operations on SWIFTNet InterAct Request elements are as follows:

  • RequestControl: this is destined to SWIFTNet only. SWIFTNet delivers a RequestDescriptor to the responder (and some elements also to the Requestor). Therefore, no client process to server process cryptographic operation can be performed on it.

  • RequestE2EControl: this element contains information to ensure reliable end-to-end messaging. No cryptographic operation can be performed on it.

  • RequestHeader: it is used by SWIFTNet and conveyed unchanged to the Responder. Therefore, this can only be signed.

  • RequestPayload: any cryptographic operations can be performed on this.

  • Crypto element(s): these relate to previously activated cryptographic operations on this Request. No cryptographic operations can be performed on these.

The rules for applying cryptographic functions on SWIFTNet InterAct responses are:

  • ResponseControl: this is destined to SWIFTNet only. SWIFTNet delivers a ResponseDescriptor to the Requestor. Therefore, no server process to client process cryptographic operation, can be performed on it.

  • ResponseE2EControl: this element contains information to ensure reliable end-to-end messaging. No cryptographic operation can be performed on it.

  • ResponseHeader: this element can be signed (it is transferred unchanged to the Requestor).

  • ResponsePayload: can be encrypted and/or signed.

  • Crypto element(s): these relate to previously activated cryptographic operations on this Request. No cryptographic operations can be performed on these.

Receiving Requests with Cryptography

A server process may receive Requests that were subjected to cryptographic operations by the Requestor. The incoming Request contains all relevant information to enable the reverse cryptographic operations. The CryptoInternal information is such that the decryption and verification function will now effectively operate.

The server process will need to activate the security contexts of the DN for which decryption needs to take place

The Request will then be modified by the reverse cryptographic operations (verify, decrypt) in such a way that the original Request will be made available unaltered to the server process, as it was originally delivered by the client process to the cryptographic operations. For the Response, similar processing takes place. It is important to realize that verification of a signature will not only verify what was signed was not altered, but that it will authenticate whether the signer is genuine. This requires that the SignDN uses a valid certificate. A valid certificate is a certificate has not been revoked (a lookup in the Certificate Revocation List, kept centrally within SWIFTNet).

Activation

SWIFTNet Link can operate verification and decryption in automatic mode for all incoming Requests and incoming Responses. This means that SWIFTNet Link will automatically process (verify and decrypt) the last crypto block of all incoming Requests (server side) or incoming Responses (client side). The prerequisites are that the security context required for decryption (if decryption is requested) is opened and that SWIFTNet Link has been initialized in automatic mode (this setting to automatic mode is done on the Sw:InitRequest or Sw:HandleInitResponse, by setting the CryptoMode to "Automatic" or better still "Advanced" for InterAct. (We will always use “Advanced” for the InterAct Adapter, as this allows the client or server application to recover form unexpected encryption by the remote side, or from an expired certificate.

SWIFTNet Link operates signature and encryption automatically on one outgoing Request (or one outgoing Response) if the field RequestCrypto (ResponseCrypto) is initialized to “TRUE” in the RequestControl (ResponseControl) of the Request (Response).

In that case SWIFTNet Link processes the last crypto block. The prerequisites are that the security context required for signature (if signature is requested) is opened, that the crypto block is present in the Request with indication on the signature and encryption required, and that the RequestCrypto (ResponseCrypto) flag is set to “TRUE” in the RequestControl (ResponseControl). This is always done, irrespective of the CryptoMode used at initialization of the client or server.

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter End-to-End Reliable Delivery

When sending messages or files to a recipient, we recommend that you ensure that the message or file is delivered, and that the business transaction(s) contained in these are executed no more times than anticipated.

When both entities communicating with each other can use a persistent storage (for example, provided by a persistent message-oriented middleware and an interface application using it), it is easy to implement a reliable delivery if the way to communicate the perceived status of the message is standardized.

The following figure shows an example of the structure of the E2EControl.

The element in the example shown in the figure is sent within the SwInt:Request and delivered unchanged within the SwInt:RequestHandle to the receiving application. Line 02 allows assigning a unique identifier to the request. This unique identifier is repeated in each subsequent re-transmission of the same request.

The way this identifier is constructed is left to the implementer, but typically it is based on a system call such as uuidgen(), or it may be the result of computing a SHA-1 on the request to be sent (with a prefixed Sw:MsgId and then replace it by the base64 encoded SHA-1 string). The main requirement is that it is globally unique (with a very high probability).

The Sw:CreationTime is the time of creation of the original request. It is an optional parameter, but it is useful to limit eventual searches for previous communication attempts of this message.

The element Sw:PDIndication is present to indicate that this is a second or further attempt to transmit the message. The receiving application that is aware of the E2EControl can then use the Sw:MsgId to find back whether the message has been received or not. The optional Sw:EmissionList contains the time of the previous attempts. This time is the local time of the sender (in universal time) as got by the Sender when using the Sw:GetDateTime function. Again this could be useful to limit searches.

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter Status Monitoring
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Status Monitoring

SWIFTNet Link (SNL-C) retains a local status about SWIFTNet store and forward (SnF) sessions acquired on that SNL. To get the information about the session, use SwCall() with the following primitive:

Getting session information

Notice that you are not required to provide an AuthorizationContext. The information seen by the local SNL is returned, as shown in the following figure.

Session status information

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Non-Repudiation

Other Resources

InterAct Adapter Architecture


InterAct Adapter Non-Repudiation

Non-repudiation support for an outgoing InterAct message is obtained by setting the SwInt:NRIndicator to TRUE in the SwInt:RequestControl or SwInt:ResponseControl, as appropriate. This is required only if the service does not select non-repudiation support by default, according to the Service Profile.

Non-repudiation is based on a valid signature created by the SNL, just before transmitting the message. Therefore, in order to obtain non-repudiation support on outgoing request messages, it is mandatory for the SwInt:RequestCrypto element, contained within the SwInt:RequestControl, to be set TRUE in the SwInt:RequestControl.

For response messages, the requirement is equivalent, except that the elements involved are the SwInt:ResponseCrypto, as contained within the SwInt:ResponseControl; SwInt:ResponseCrypto must be set TRUE.

For non-repudiation support on a request, it is necessary for the message signature to cover the SwInt:RequestHeader, SwInt:RequestPayload, and the SwInt:SwiftRequestRef of the SwInt:RequestDescriptor. The SwInt:SwiftRequestRef is automatically generated by SWIFTNet Link. In connection with generating the SwInt:SwiftRequestRef, the SNL also automatically adjusts the SwSec:MemberRef value within the SwSec:CryptoControl for generating the required message signature. Similarly, for non-repudiatin support on a Response, it is necessary for the message signature to cover the SwInt:ResponseHeader, SwInt:ResponsePayload, and the SwInt:SwiftResponseRef of the SwInt:ResponseDescriptor. The SwInt:SwiftResponseRef is automatically generated by SWIFTNet Link. In connection with generating the SwInt:SwiftResponseRef, the SNL also automatically adjusts the SwSec:MemberRef value within the SwSec:CryptoControl for generating the required message signature.

If the business Service Profile selects non-repudiation by default, the necessary message signature is still required to be selected (as just described, in the SwInt:RequestControl or the SwInt:ResponseControl), and must be selected before the message leaves the SNL.

If Feature Selection according to the business Service Profile invokes Non-repudiation Support on a message, and if the necessary signature is not found with the message, then the message will be rejected by the Switch. A status exception message will be returned to the Sender of the message.

Payload encryption is not consistent with Non-repudiation Support. If Non-repudiation Support is selected for a message and the payload is encrypted in whole or in part, then the message will be rejected by SWIFTNet Link.

Note that if the service does not have the non-repudiation feature, any request or response indicating non repudiation in the control, will be rejected.

See Also

Concepts

InterAct Adapter Components
InterAct Adapter Messages for Business Exchange
InterAct Adapter Client Application
InterAct Adapter Server Application
InterAct Adapter Store and Forward
InterAct Adapter Security Architecture
InterAct Adapter End-to-End Reliable Delivery
InterAct Adapter Status Monitoring

Other Resources

InterAct Adapter Architecture


Copyright

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in examples herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 2013 Microsoft Corporation. All rights reserved.

Microsoft, BizTalk, Visual Studio, Windows, Windows Server, Windows Server System, and Windows Vista are trademarks of the Microsoft group of companies.

SWIFT, S.W.I.F.T., the SWIFT logo, Sibos, SWIFTNet, SWIFTAlliance, SWIFTStandards, SWIFTReady and Accord are trademarks of S.W.I.F.T. SCRL. Other SWIFT-derived product and service names, such as but not limited to SWIFTSolutions and SWIFTSupport, are tradenames of S.W.I.F.T. SCRL.

All other trademarks are property of their respective owners.