SWIFTNet Client Service
The SWIFTNet Client service is responsible for sending SWIFT InterAct or FileAct messages (both requests and responses) to SWIFTNet, which are initiated by the IBM® Sterling B2B Integrator. The SWIFTNet Client service enables you to use InterAct or FileAct messaging with a Store and Forward option. Additionally, the SWIFTNet Client service enables you to use either synchronous or asynchronous messaging for InterAct and either put or get messaging for FileAct.
The following table provides an overview of the SWIFTNet Client service:
- System Name
- SWIFTNetClientService
- Graphical Process Modeler (GPM) categories)
- All Services.
- Description
- This service is responsible for sending SWIFT InterAct
and FileAct messages (both requests and responses) to SWIFTNet, which
are initiated by the IBM Sterling
B2B Integrator.
The SWIFTNet Client service is also executed during system processing to create the SWIFTNet message header based on the configuration set in the CHIPS adapter. The request type is either chips.payment (if the transaction code is 10) or chips.message (for all transaction codes except 10). You do not need to specifically configure the SWIFTNet Client service for use with CHIPS.
- Business usage
- Use this service to send financial information based on SWIFT InterAct and FileAct messages to another participant in the SWIFTNet Central network. The business value of this service is inherent in utilizing the benefits of the SWIFTNet Central network to exchange financial messages.
- Usage example
- You wish to cancel a Customer Credit Transfer (MT192). The user uses the service to send out the Cancel Request, and wait for confirmation (MT 196). In this case, the request is sent out synchronously, with the service remaining open until the response is received.
- Preconfigured?
- Yes.
- Requires third party files?
- No third party files are required.
- Platform availability
- All supported application platforms.
- Related services
- This service works with the SWIFTNet Server adapter, the SWIFTNet HTTP Server adapter, the SWIFTNet MEFG Server, and the Command Line Adapter 2.
- Application requirements
- The SWIFTNet MEFG Server must be installed and configured in order to use this service. SSL can be implemented between the IBM Sterling B2B Integrator and the SWIFTNet MEFG Server. You must also configure the SWIFTNet HTTP Server adapter.
- Initiates business processes?
- No.
- Invocation
- A user who has permission to perform this activity must execute the business process that invokes this service.
- Business process context considerations
- None
- Returned status values
- Fatal—non-recoverable error
- Transient—recoverable error
- Logic—recoverable error
- Success—Success
- Warning—Success with warning
- Restrictions
- Only one SWIFTNet MEFG Server can be configured to talk to one SWIFTNet Server Adapter instance in the IBM Sterling B2B Integrator.
- Persistence level
- N/A
- Testing considerations
- To test this adapter, run the SWIFTNet Client business
process and verify that it completes successfully. Debug information
for this service is located at:
Operations > System > Logs > SWIFTNet
How the SWIFTNet Client Service Works
The SWIFTNet Client service prepares the request and sends it to the SWIFTNet MEFG Server. The client application on the SWIFTNet MEFG Server processes this request, performs the necessary communication exchange with the SWIFTNet SAG/SNL instance, and sends the request to the SWIFTNet Central network. The SWIFTNet Client service can operate in either synchronous or asynchronous mode for InterAct. In synchronous mode, the request is sent to the SWIFTNet Central network using the SwInt:Exchange primitive. In asynchronous mode, the request is sent to the SWIFTNet Central network using the SwInt:Send primitive.
In synchronous mode, the SWIFTNet MEFG Server client application is blocked until a response is received from the responder through the SAG/SNL instance. Once a response is received, it is sent back to the IBM Sterling B2B Integrator by the client application on the SWIFTNet MEFG Server, and the response payload is placed in the primary document.
In asynchronous mode, the SWIFTNet MEFG Server client application receives a response handle from the SAG/SNL instance. Using this response handle, the SWIFTNet MEFG Server client application periodically checks with SWIFTNet (using SwInt:Wait primitive) to determine if a response is available. Once a response is received, the response payload is placed in the primary document.
With release SWIFT 6.1, the use of a messaging interface that uses input channels is optional but is recommended. SWIFT plans to make it mandatory in a future release. Currently, the use of input channels is available for SWIFTNet InterAct Store and Forward (SnF) only.
If you configure the Input Channel in the SWIFTNet Server adapter, the SWIFTNet MEFG Server opens the Input Channel automatically during startup (when the SWIFTNet Server adapter is enabled). This Input Channel remains open until the SWIFTNet MEFG Server is shut down (when the SWIFTNet Server adapter is disabled). During this time, you have the option to send message using the input channel or without the input channel if you indicate this using the Input Channel parameter in the SWIFTNet Client service.
When SWIFTNet Copy is used, the Copied Request is sent to a third party in one of two modes: T-Copy (third party copy is for information only) or Y-Copy (third party needs to do authorization). When SWIFTNet Copy is used, the message/file copy is queued for delivery to the configured third party as soon as the third party is ready to receive. The third party has to acknowledge the receipt of the copy like any other message or file delivered from a queue. When the mode is Y-copy, then the third party must authorize or refuse the message or file, which requires a system message to be sent to SWIFT. When authorizing the message or file, the authorization may contain information destined to the sender and information destined to the receiver of the message or file.
When using SWIFT 6.1, the IBM Sterling B2B Integrator may act as a third party. If the Copy Mode is Y-Copy, the IBM Sterling B2B Integrator sends an authorization message, which is like sending an Interact store-and-forward request. The SWIFTNet Client service is used, but you must set the you must set the thirdPartyAuth parameter to TRUE, and provide the authorization decision (either Authorised or Refused) for the AuthDecision parameter. Additionally, the third party may provides information destined to the sender or receiver of the message or file.
Implementing the SWIFTNet Client Service
To implement the SWIFTNet Client service, complete the following tasks:
- Create a configuration of the SWIFTNet Client service.
For information about the fields specific to this service, see Configuring the SWIFTNet Client Service.Note: If you create a new configuration of the SWIFTNet Client service, you must also create a new business process or edit a copy of the appropriate predefined business process, SWIFTNetClient.bp or SWIFTNetClientFA.bp, to update it to use your service configuration. You do not need to create an instance of the SWIFTNet Client service for every Requestor or Responder DN; you can simply reuse the SWIFTNet Client service instance and pass the parameters that differ from the sample service through the business process.
- Specify field settings for the service configuration
in the IBM Sterling
B2B Integrator Admin
Console and in the GPM as necessary. See Configuring the SWIFTNet Client Service.Note: When you create the configuration, you will configure it differently depending on whether you are using InterAct or FileAct messaging. Either can be used with or without the store-and-forward option.
Configuring the SWIFTNet Client Service
- Select .
- Search for SWIFTNet Client service or select it from the list and click Go!.
- Click Edit.
- Specify field settings in the Admin Console or
Business Process (Creating or Setting Up a Service Configuration in the Admin Console or Business Process),
or the GPM (Setting Up the Service in the GPM).Note: Each instance of the SWIFTNet Client service is configured for a pair of requestor/responder DNs and the SWIFTNet Client service name.
- On the Confirm page, verify that the Enable Service for Business Processes check box is selected.
Creating or Setting Up a Service Configuration in the Admin Console or Business Process
Use the field definitions in the following table to create a new configuration of the SWIFTNet Client service, or to set up the configuration provided with the IBM Sterling B2B Integrator. Some fields are available in both the Admin Console and in the GPM.
- Field
- Description
- Name
- Unique and meaningful name for the service configuration. Required.
- Description
- Meaningful description for the service configuration, for reference purposes. Required.
- Select a Group
- Select one of the options:
- None – Do not include the configuration in a service group at this time.
- Create New Group – Enter a unique name for a new group, which will be created with this configuration. (You can then add other services to the group as well.)
- Select Group – If service groups already exist for this service type, they are displayed in the list. Select a group from the list.
- SWIFTNet Interface
- SWIFTNet message type. Valid values are InterAct or FileAct. Required.
- Store and Forward
- Indicates if the file transfer is done using the store-and-forward method. Valid values are True (use Store-and-Forward) and False (default—do not use Store-and-Forward). Required. BPML element value is SnF.
- SWIFTNet Operation
- The SWIFTNet operation to send an InterAct or FileAct
message. Possible values are:
- Synchronous (default)—InterAct
- Asynchronous—InterAct
- Put—FileAct
- Get—FileAct
Required. When SWIFTNet Operation is FileAct, you must select either Put or Get. If you do not select an operation, the service uses Synchronous as the default value.
BPML element value is sync (default) or async for InterAct, or Put or Get for FileAct.
- Requestor DN
- Distinguished name of the requestor. Required.
BPML element value is requestorDN. Note: This DN must be registered with the SAG instance using SWIFTNet Alliance Webstation.
- Responder DN
- Distinguished name of the responder. Required.
BPML element value is responderDN. Note: This DN must be registered with the SAG instance using SWIFTNet Alliance Webstation.
- Service Name
- Name of the service to which both SWIFT correspondents
have subscribed. Required. BPML element value is serviceName. Note: This must be a SWIFTNet service to which you are subscribed.
- Authoriser DN
- The distinguished name of the authorizing party. Optional.
- This service allows Third Party Copy
- Whether this service uses T-Copy or Y-Copy (check
your service agreement with SWIFT). BPML element value is thirdPartyCopy.
Valid values are TRUE or FALSE.
This parameter is displayed only if you selected File Act and True for Store and Forward on SWIFTNet Client Service Interface page.
Note: If the Copy Mode is Y-Copy, the IBM Sterling B2B Integrator sends an authorization message, which is like sending an Interact store-and-forward request. The SWIFTNet Client service is used, but you must set the This service allows Third Party Copy parameter to TRUE, and provide the authorization decision (either Authorised or Refused) for the AuthDecision parameter. - Request for Third Party Copy
- Whether you are requesting third party copy. When
the Copy feature is defined as Optional in the service agreement,
you can choose whether you want the Third Party Copy to occur. BPML
element value is copyIndicator. Valid values are TRUE or FALSE.
Displayed only if you select True for This service allows Third
Party Copy. Note: This parameter is displayed only if you selected True for This service allows Third Party Copy.
- Request for Notification from Third Party
- In T-Copy mode, this setting is not applicable,
the value should always be set to FALSE.
In Y-Copy mode, when the Authorisation Notification Indicator feature is available and defined as Optional in the service agreement, you can choose whether you want to receive the Authorisation Notification messages. BPML element value is authNotifIndicator. Valid values are TRUE or FALSE. Displayed only if you selected True for This service allows Third Party Copy.
Note: This parameter is displayed only if you selected True for This service allows Third Party Copy. - Request Type
- Request type supported by the message exchange.
Optional for InterAct and required for FileAct in SWIFTNet 6.0. BPML
element value is requestType. Note: In SWIFTNet 6.0 FileAct the format convention is as follows:
<business_area>.<type_of_syntax>.<detailed_syntax_and_format>
This format starts with a four-characters business area code, followed by a period (dot), followed by a three-character code that designates the type of syntax (which can be <nnn> , FIN, or xxx), followed by another period (dot), and then followed by a more detailed indication of syntax and format.
- Request Reference
- User reference of the request. Optional. BPML element value is requestReference.
- Non Repudiation Required
- Indicates whether non-repudiation is required. Possible values are True (when enabled this means that trading partners cannot deny that they sent a request) or False (default—when enabled this indicates that non-repudiation is not required). Optional. BPML element value is nonRepudiation.
- Switch to SnF mode when real-time transmission failed
- Indicates whether you want to switch to store-and-forward mode if a real-time transmission (InterAct or a FileAct Put) has failed. Possible values are True or False (default). Required. BPML element value is switchToSnF.
- Store and Forward Service Name
- The name of the store-and-forward service. Required when Switch to SnF mode when real-time transmission failed is set to True. BPML element value is SnFServiceName.
- End-to-End Signature Required
- Whether an end-to-end signature is required. Valid
values are False (default) and True. Optional. Note: You can use an end-to-end signature regardless of whether you are using non-repudiation (for example, for SWIFT SCORE messages).
- Number of Retries
- Number of retries to connect to SAG. Default value is 3. Optional. BPML element value is numOfRetries.
- Retry Delay (in seconds)
- Time that will elapse before the next retry. Default value is 60 (seconds). Optional. BPML element value is secInRetryDelay.
- Trace
- Trace for logging purposes in the SWIFTNet MEFG Server. Valid values are True and False (default). Required. BPML element value is trace.
- Use Signature List
- Whether to use a signature list. This enables you
to select your own signatures. If you do not use a signature list
then normal Crypto is used. Valid values are False and True. Required. Note: This parameter is displayed only if you selected True for End-to-End Signature Required.
- Return Signature List
- Whether to return a signature list. Valid values
are False and True. Required.
If you want a signature list returned, the SWIFTNet MEFG Server receives the requestor's own signature in the response message. This returned signature will be extracted and saved as a separate message. This message is stored in the database and is made available for Correlation search.
Note: This parameter is displayed only if you selected True for End-to-End Signature Required. - Use RND
- Whether to use RND (digest reference values that
terminate on “and RND”). Valid values are False (default) and True.
Required. Note: This parameter is displayed only if you selected True for End-to-End Signature Required.
- Delivery Notification (Del. Notifn)
- Indicates that the sender asked the receiver to
send a delivery notification. Possible values are True or False (default).
Optional. BPML element value is deliveryNotification. Note: This parameter is only displayed when you select True for Store and Forward or are performing a FileAct Put. If you are performing a Put operation, you can request the responder to send you a delivery notification and specify a different Delivery Notification DN and Request Type of Delivery Notification, if desired. If you are performing a Get operation, the responder can request Delivery Notification from the requestor after receiving the file. That setting for delivery notification is configured through the SWIFTNet Server adapter.
- Request Type of Delivery Notification
- Used to request a specific delivery notification
message from the remote receiving server IBM Sterling
B2B Integrator when it
returns the delivery notification (when Delivery Notification is set
to True). Optional. BPML element value is requestTypeDelNotifn. Note: This parameter is only displayed when you select True for Store and Forward or a FileAct Put.
- Message Priority
- Indicates priority handling in the queue for store-and-forward
only. Valid values are Normal (default) and Urgent. Optional. BPML
element value is messagePriority. Note: This value is used as a selection criterion when delivering messages from a queue, and in SWIFTNet FileAct to influence the pace of the FileAct flow.
- Use Input Channel
- Whether to use the input channel. Valid values
are False (default) and True. Required. This parameter is displayed
only if you selected True for Store and Forward and InterAct for SWIFTNet
interface. Note: Used for InterAct store-and-forward only. Select True if you are using an input channel. If you configure this parameter, the SWIFTNet MEFG Server opens the Input Channel automatically during the startup (when the SWIFTNet Server Adapter is enabled). This Input Channel remains open until the SWIFTNet MEFG Server is shut down (or the SWIFTNet Server Adapter is disabled). During this time, you still have an option to send message using the input channel or without the input channel. All you need to do is to indicate this by using this parameter in SWIFTNet Client service.
- MEFG SWIFTNet IP
- The IP address for the SWIFTNet MEFG Server. Required.
- MEFG SWIFTNet Port
- The port for the SWIFTNet MEFG Server. Default is NULL. Optional.
- Response Timeout
- The timeout interval (in seconds) in which a response must be received or the message operation fails. Optional. Default is 60 seconds.
- Use SSL
- Whether to enable Secure Socket Layer (SSL) over
HTTP communication between the IBM Sterling
B2B Integrator and the
SWIFTNet MEFG Server. Valid values are None and Must. Note: Regardless of the value you select for Use SSL, you must also update the business processes associated with the SWIFTNet Client service. See Upgrading the SWIFTNetClient Business Process to Use the Integrated SWIFTNet Client Service for more information.
- Cipher Strength
- Indicates the strength of the cipher. Possible values are ALL (default), WEAK, and STRONG. Optional.
- CA Certificate
- The CA certificate of the SWIFTNet MEFG Server. Note: This is the public key certificate that must be configured to set up the outbound SSL channel. This page is only displayed if you set Use SSL to Must.Note: The SWIFTNet Client service Configuration page allows you to select the same CA Certificate for SSL processing a second time, and continues to allow additional selections of the same certificate in subsequent edits. If you have already selected a CA Certificate once for a configuration of the SWIFTNet Client service, do not select the same CA Certificate again, as this will result in an error when you execute the relevant business process.
- Switch to SnF mode when real-time transmission failed
- Whether to switch to store-and-forward mode when real-time transmission fails. Select True if you want to switch to Store and Forward mode when the real-time transmission (InterAct and FileAct Put) has failed. Valid values are True and False.
- Physical Filename
- Physical name of the file to send. Required if put or get is selected for the SWIFTNet Operation. BPML element value is physicalFilename.
- Logical Filename
- Logical name of the file to send. This name is communicated to the IBM Sterling B2B Integrator SWIFTNet Server. By default, this name is the Physical Filename without the path. Optional. BPML element value is logicalFilename.
- File Information
- User information about the file transfer. Optional. BPML element value is fileInfo.
- File Description
- User description about the file transfer. Optional. BPML element value is fileDesc.
Setting Up the Service in the GPM
Use the field definitions in the following table to set up the service configuration in the GPM:
- Parameter
- Description
- deliveryNotification
- Indicates that the sender asked the receiver to
send a delivery notification. Possible values are TRUE or FALSE. Optional. Note: This parameter is only displayed when you select True for SnF or are performing a FileAct Put. If you are performing a Put operation, you can request the responder to send you a delivery notification and specify a different Delivery Notification DN and Request Type of Delivery Notification, if desired. If you are performing a Get operation, the responder can request Delivery Notification from the requestor after receiving the file. That setting for delivery notification is configured through the SWIFTNet Server adapter.
- deliverynotification DN
- Distinguished name of the Responder of the delivery notification. Optional.
- deliverynotificationRT
- Request type of the delivery notification. This is used for a FileAct Get. Required.
- fileDesc
- User description about the file transfer. Only for FileAct Put. Optional.
- fileInfo
- Specify whether the file will be compressed or
not. Only for FileAct Put. Optional. In SWIFTNet 6.0 FileAct, the
format convention is as follows:
SwCompression=<value>
Valid values are SwCompression=None (default) or SwCompression=ZIP.
Note: If you specify to use compression, you must have compressed the file before sending it to the SWIFTNet Server adapter. - interfaceMode
- SWIFTNet message type. Valid values are InterAct or FileAct. The default value is InterAct. Required.
- logicalFilename
- This name is communicated to the server application.
By default, this name is the physical name without the file path.
Optional. Only for FileAct.
For a FileAct Put, this is the logical name of the file to be retrieved based on the <reception_dir>/<responder_dn>/<requestor_dn>.
For a FileAct Get, this is the logical name of the file to send based on the <download_dir>/<responser_dn>/<requestor_dn>.
- messagePriority
- Indicates priority handling in the queue for store-and-forward
only. Optional. Note: This value is used as a selection criterion when delivering messages from a queue, and in SWIFTNet FileAct to influence the pace of the FileAct flow.
- nonRepudiation
- Indicates whether non-repudiation is required. Possible values are TRUE (when enabled, trading partners cannot deny that they sent a request) or FALSE (default, indicating that non-repudiation is not required). Optional.
- numOfRetries
- Number of retries to connect to SAG. Default value is 3. Optional.
- physicalFilename
- Optional. Only for FileAct.
For a FileAct Put, this is the full path and the physical name of the file to send.
For a FileAct Get, this is the full path and the physical name of the file to save after the Get is completed.
- possibleDuplicate
- Indicates whether to include a trailer specifying
that this message may be a duplicate.
This is an optional component of the envelope that indicates that this message may already have been sent. For example, if the system crashes during the delivery of a message, another copy of the message could be sent, with this trailer included to indicate that it may be a duplicate.
Possible values are TRUE and FALSE (default).
Optional.
- requestorDN
- Distinguished name of the requestor. Required. Note: This DN must be registered with the SAG instance using SWIFTNet Alliance Webstation.
- requestReference
- User reference of the request. Optional.
- requestType
- Request type supported by the message exchange.
Optional for InterAct and required for FileAct in SWIFTNet 6.0. Note: In SWIFTNet 6.0 FileAct the format convention is as follows:
<business_area>.<type_of_syntax>.<detailed_syntax_and_format>
This format starts with a four-characters business area code, followed by a period (dot), followed by a three-character code that designates the type of syntax (which can be <nnn> , FIN, or xxx), followed by another period (dot), and then followed by a more detailed indication of syntax and format
- requestTypeDelNotifn
- Used to request a specific delivery notification message from the remote receiving server application when it returns the delivery notification (when Non Repudiation required and/or Delivery Notification are set to TRUE). Optional
- responderDN
- Distinguished name of the responder. Required. Note: This DN must be registered with the SAG instance using SWIFTNet Alliance Webstation.
- secInRetryDelay
- Number of delays before the next retry. Default value is 60 (seconds). Optional.
- serviceName
- Name of the service to which both SWIFT correspondents have subscribed. Required. This must be a SWIFTNet service to which you have already subscribed.
- SnF
- Indicates if the file transfer is done using the store-and-forward method. Valid values are True (use Store-and-Forward) and False (default—do not use Store-and-Forward). Required.
- swiftOp
- The SWIFTNet operation to send an InterAct or FileAct
message Possible values are:
- sync (default)—InterAct
- async—InterAct
- put—FileAct
- get—FileAct
Required.
- trace
- Trace for logging purposes in the SWIFTNet MEFG Server. Possible values are 0 (no logging; this is the default) or 4 (logging is enabled). Optional.
- transferDesc
- User description about the transfer. Only for FileAct. Optional.
- transferInfo
- User information about the transfer. Only for FileAct. Optional.
- switchToSnF
- Indicates whether you want to switch to store-and-forward mode if a real-time transmission (InterAct or a FileAct Put) has failed. Possible values are True or False (default). Required.
- SnFServiceName
- The name of the store-and-forward service. Required when Switch to SnF mode when real-time transmission failed is set to True.
- HTTPClientAdapter
- HTTP Client Adapter instance that is used to communicate with the SWIFTNet MEFG Server. Optional. Default value is SWIFTNetHTTPClientAdapter.
- MEFGServerHost
- The IP address of the SWIFTNet MEFG Server. Required.
- MEFGServerPort
- The port of the SWIFTNet MEFG Server. Optional. Default value is 80.
- MEFGServerResponse
Timeout - Timeout period (in seconds) for the SWIFTNet MEFG Server to respond. Optional. Default value is 60.
- UseSSL
- Flag to indicate whether to secure communication between the IBM Sterling B2B Integrator and the SWIFTNet MEFG Server with SSL. Possible values are TRUE or FALSE (default). Optional.
- CipherStrength
- The level of encryption to be applied on the data channel. Possible values are All (default), Weak, or Strong. Optional.
- CACertId
- The public key certificates for the SWIFTNet MEFG Server. Required if SSL is set to TRUE.
- sign
- Whether an end-to-end signature is required.
- useSignatureList
- Whether to use a signature list. This enables you to select your own signatures. If you do not use a signature list then normal Crypto is used.
- returnSignatureList
- Whether to return a signature list.
- useRND
- Whether to use RND (digest reference values that terminate on “and RND”). Valid values are False (default) and True.
- useInputChannel
- Whether to use the input channel.
- messageID
- The message identifier of the payload. This is used only when Possible Duplicate is set to True.
- renewDN
- The distinguished name of the user. This is used for the renewal of Security Context.
- authoriserDN
- The distinguished name of the authorizing party.
- thirdPartyCopy
- Flag to indicate whether this service should use T-Copy or Y-Copy. Only available for FileAct SnF. Valid values are TRUE or FALSE.
- copyIndicator
- When the Third Party Copy feature is defined as Optional in the service agreement, you can choose whether you want Third Party Copy to occur. Valid values are TRUE or FALSE.
- authNotifIndicator
- In T-Copy mode this setting is not applicable and
the value should always be set to FALSE.
In Y-Copy mode, when the Authorisation Notification Indicator feature is available and defined as Optional in the service agreement, you can choose whether you want to receive back the Authorisation Notification messages. Valid values are TRUE or FALSE.
- HeaderInfo
- Your Enhanced Header Info. Since Enhanced Header Info is usually an XML structure, you should specify it as CDATA.
- thirdPartyAuth
- Flag to indicate that the IBM Sterling B2B Integrator is acting as Third Party who are going to send notification message (in Y-Copy mode). Valid values are TRUE or FALSE. This parameter should be used together with the required AuthDecision and MessageName parameters, and optional ToSndrInfo, ToRcvrInfo and RefuseReason parameters.
- AuthDecision
- Specify the third party decision here. Valid values are Authorised or Refused. Use this parameter with thirdPartyAuth parameter.
- MessageName
- Specify the name of the HeaderInfo message as inserted into the mailbox. The format is ThirdParty_[CopySnFRef]. When you use Mailbox Extract service to extract the HeaderInfo message from mailbox, by default the name is available in Process Data.
- ToSndrInfo
- If you are the third party and decide to Authorised a request or file notifications, this parameter enables you to specify “Third Party to Sender Information.” The information can be any structure (plain text or XML). If you use XML structure, this parameter should be CDATA.
- ToRcvrInfo
- If you are the third party and decide to Authorised a request or file notifications, this parameter enables you to specify Third Party to Receiver Information. The information can be any structure (plain text or XML). If you use XML structure, this parameter should be CDATA.
- RefuseReason
- If you are the third party and you refuse a request or file notifications, you can specify Refusal Reason in this parameter. The information can be any structure (plain text or XML). If you use XML structure, this parameter should be CDATA.
Business Process Example
To construct a message you need to perform the following tasks:
- Create a configuration of the SWIFTNet Client service.
- Edit the SWIFTNetClient business process (or create
a new business process) in the following manner:
- Match the name of the business process that you create or modify.
- If necessary, modify the SWIFTNet MEFG Server IP and port to point to your installation of the SWIFTNet MEFG Server.
- Configure the business process for the Requestor DN/Responder DN pair and the SWIFTNet service name.
- Specify the request type and request reference for use in SWIFTNet.
- If required, select non-repudiation and possible duplicate (which enables the resending of the file in case of an error in transmission) parameters.
- Specify the number of retries to the SAG connection and the retry interval.
- Enable Document Tracking for AFT Tracking.
This is the BPML for the example business process:
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"/>
<assign to="swiftOp">async</assign>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
This is the complete BPML to execute the SWIFTNet Client service:
<process name="SWIFTNetClient">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"></assign>
<assign to="interfaceMode">interact</assign>
<assign to="swiftOp">sync</assign>
<assign to="requestorDN">o=swiftbic,o=swift</assign>
<assign to="responderDN">o=swiftbic,o=swift</assign>
<assign to="serviceName">swift.generic.ia!x</assign>
<assign to="SnF">FALSE</assign>
<assign to="nonRepudiation">FALSE</assign>
<assign to="possibleDuplicate">FALSE</assign>
<assign to="deliveryNotification">FALSE</assign>
</output>
<input message="testing">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
This is the complete BPML to execute the SWIFTNet Client service for FileAct for a Put:
<process name="SWIFTNet-FA-Put-NonSnF-DN">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"></assign>
<assign
to="physicalFilename">/local/share/measle/swiftdata/payload.txt</assign>
<assign to="logicalFilename">payload.txt</assign>
<assign to="transferInfo">payload</assign>
<assign to="transferDesc">payload></assign>
<assign to="fileDesc">payload</assign>
<assign to="interfaceMode">fileact</assign>
<assign to="swiftOp">put</assign>
<assign to="requestorDN">o=swiftbic,o=swift</assign>
<assign to="responderDN">o=swiftbic,o=swift</assign>
<assign to="serviceName">swift.generic.fa!x</assign>
<assign to="requestType">Type.SI.Server1</assign>
<assign to="SnF">FALSE</assign>
<assign to="nonRepudiation">FALSE</assign>
<assign to="possibleDuplicate">FALSE</assign>
<assign to="deliveryNotification">TRUE</assign>
</output>
<input message="testing">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
This is the complete BPML to execute the SWIFTNet Client service for FileAct for a Get:
<process name="SWIFTNet-FA-Get-NonSnF-DN">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"></assign>
<assign
to="physicalFilename">/local/share/measle/swiftdata/payload-receive.txt</assign>
<assign to="logicalFilename">payload.txt</assign>
<assign to="interfaceMode">fileact</assign>
<assign to="swiftOp">get</assign>
<assign to="requestorDN">o=swiftbic,o=swift</assign>
<assign to="responderDN">o=swiftbic,o=swift</assign>
<assign to="serviceName">swift.generic.fa!x</assign>
<assign to="SnF">FALSE</assign>
<assign to="nonRepudiation">FALSE</assign>
<assign to="possibleDuplicate">FALSE</assign>
<assign to="deliveryNotification">TRUE</assign>
</output>
<input message="testing">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
This is a sample business process for a third party to send an authorised notification message:
<process name="SWIFTNetClient">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"/>
<assign to="thirdPartyAuth">TRUE</assign>
<assign to="AuthDecision">Authorised</assign>
<assign to="MessageName">ThirdParty_snp892349710118</assign>
<assign to="ToSndrInfo">Plain text example</assign>
<assign to="ToRcvrInfo"><![CDATA[<info><abc>XML
example</abc></info>]]></assign>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
This is a sample business process for a third party Third Party to send a refused notification message.
<process name="SWIFTNetClient">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"/>
<assign to="thirdPartyAuth">TRUE</assign>
<assign to="AuthDecision">Refused</assign>
<assign to="MessageName">ThirdParty_snp892349710118</assign>
<assign to="RefuseReason">Plain text example</assign>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
This is a sample business process to send a FileAct store-and-forward with Header Info:
<process name="SWIFTNetClient">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"/>
<assign to="interfaceMode">fileact</assign>
<assign to="swiftOp">put</assign>
<assign to="SnF">TRUE</assign>
<assign to="requestorDN">o=swiftbic,o=swift</assign>
<assign to="responderDN">o=swiftbic,o=swift</assign>
<assign to="serviceName">swift.generic.fa!x</assign>
<assign to="requestType">pain.001.001.01</assign>
<assign
to="physicalFilename">/local/share/measle/swiftdata/payload.txt</assign>
<assign to="logicalFilename">payload.txt</assign>
<assign to="transferInfo">Date=29082008</assign>
<assign to="transferDesc">transfer desc</assign>
<assign to="fileInfo">SwCompression=None</assign>
<assign to="fileDesc">file desc</assign>
<assign to="HeaderInfo"><![CDATA[<ApplSpcfc
xmlns="urn:swift:xsd:ApplSpcfc.TxsCntr.01"><TxsCntr><TtlNbOfTxs>5</TtlNbOfTxs></T
xsCntr></ApplSpcfc>]]></assign>
<assign to="nonRepudiation">FALSE</assign>
<assign to="possibleDuplicate">FALSE</assign>
<assign to="deliveryNotification">FALSE</assign>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
This is the complete business process to open the input channel:
<process name="SWIFTNetOpenInputChannel">
<sequence name="SWIFTNetOpenInputChannel">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<!-- build Open request -->
<operation name="Service">
<participant name="SWIFTNetClientService"/>
<output message="openInputChannelRequest">
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
This is the complete business process to close the input channel:
<process name="SWIFTNetCloseInputChannel">
<sequence name="SWIFTNetCloseInputChannel">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<!-- build Close request -->
<operation name="Service">
<participant name="SWIFTNetClientService"/>
<output message="closeInputChannelRequest">
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
This is the complete business process to create the input channel:
<process name="SWIFTNetCreateInputChannel">
<sequence name="SWIFTNetCreateInputChannel">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<!-- build Create request -->
<operation>
<participant name="SWIFTNetClientService"/>
<output message="createInputChannelRequest">
<assign to="." from="*"></assign>
<assign to="authoriserDN">Put a value here</assign>
<assign to="inputChannelName">Put a value here</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
This is the complete business process to delete the input channel:
<process name="SWIFTNetDeleteInputChannel">
<sequence name="SWIFTNetDeleteInputChannel">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<!-- build Delete request -->
<!-- W A R N I N G N O T E -->
<!-- Once deleted, the input channel cannot be re-created or used anymore
-->
<operation>
<participant name="SWIFTNetClientService"/>
<output message="deleteInputChannelRequest">
<assign to="." from="*"></assign>
<assign to="authoriserDN">Put a value here</assign>
<assign to="inputChannelName">Put a value here</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
This is the complete business process to renew the Security Context:
<process name="SWIFTNetClientRenewSecContext">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<!-- build SWIFTNET request -->
<operation>
<participant name="SWIFTNetClientService"/>
<output message="renewSecurityContext">
<assign to="renewDN">o=swiftbic,o=swift
</assign>
<assign to="." from="*"/>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
Parameters Passed From Business Process to Service
The following table contains the parameters passed from the business process to the SWIFTNet Client service:
- Parameter
- Description
- swiftOp
- The SWIFTNet operation to send an InterAct or FileAct
message Possible values are:
- sync (default)—InterAct
- async—InterAct
- put—FileAct
- get—FileAct
Required.
- trace
- Trace for logging purposes in the SWIFTNet MEFG Server. Possible values are 0 (no logging; this is the default) or 4 (logging is enabled). Optional.
- numOfRetries
- Number of retries to connect to SAG. Default value is 3. Optional.
- secInRetryDelay
- Time that will elapse before the next retry. Default value is 60 (seconds). Optional.
- requestorDN
- Distinguished name of the requestor. Required. Note: This DN must be registered with the SAG instance using SWIFTNet Alliance Webstation.
- responderDN
- Distinguished name of the responder. Required. Note: This DN must be registered with the SAG instance using SWIFTNet Alliance Webstation.
- serviceName
- Name of the service to which both SWIFT correspondents
have subscribed. Required. Note: This must be SWIFTNet service to which you are subscribed.
- requestType
- Request type supported by the message exchange. Optional.
- requestReference
- User reference of the request. Optional.
- SnF
- Indicates if the file transfer is done using the store-and-forward method. Valid values are True (use Store-and-Forward) and False (default—do not use Store-and-Forward). Required.
- physicalFilename
- Optional. Only for FileAct.
For a FileAct Put, this is the full path and the physical name of the file to send.
For a FileAct Get, this is the full path and the physical name of the file to save after the Get is completed.
- logicalFilename
- This name is communicated to the server application.
By default, this name is the physical name without the file path.
Optional. Only for FileAct.
For a FileAct Put, this is the logical name of the file to be saved based on the <reception_dir>/<responder_dn>/<requestor_dn>.
For a FileAct Get, this is the logical name of the file to send based on the <download_dir>/<responser_dn>/<requestor_dn>.
- fileInfo
- User information about the file transfer. Only for FileAct. Optional.
- fileDesc
- User description about the file transfer. Only for FileAct. Optional.
- transferInfo
- User information about the transfer. Only for FileAct. Optional.
- transferDesc
- User description about the transfer. Only for FileAct. Optional.
- possibleDuplicate
- Indicates whether to include a trailer specifying
that this message may be a duplicate.
This is an optional component of the envelope that indicates that this message may already have been sent. For example, if the system crashes during the delivery of a message, another copy of the message could be sent, with this trailer included to indicate that it may be a duplicate.
Possible values are TRUE and FALSE (default).
Optional.
- messageID
- Message identifier for resending a message if Possible Duplicate is set to TRUE. Optional.
- deliveryNotification
- Indicates that the sender asked the receiver to
send a delivery notification. Possible values are TRUE or FALSE. Optional. Note: This parameter is only displayed when you select True for SnF or are performing a FileAct Put. If you are performing a Put operation, you can request the responder to send you a delivery notification and specify a different Delivery Notification DN and Request Type of Delivery Notification, if desired. If you are performing a Get operation, the responder can request Delivery Notification from the requestor after receiving the file. That setting for delivery notification is configured through the SWIFTNet Server adapter.
- requestTypeDelNotifn
- Used to request a specific delivery notification message from the remote receiving server application when it returns the delivery notification (when Non Repudiation required and/or Delivery Notification are set to TRUE). Optional
- messagePriority
- Indicates priority handling in the queue for store-and-forward
only. Optional. Note: This value is used as a selection criterion when delivering messages from a queue, and in SWIFTNet FileAct to influence the pace of the FileAct flow.
- nonRepudiation
- Indicates whether non-repudiation is required. Possible values are TRUE (when enabled, trading partners cannot deny that they sent a request) or FALSE (default, indicating that non-repudiation is not required). Optional.
- HeaderInfo
- The Enhanced Header information. Since Enhanced Header Info is usually an XML structure, you should specify it as CDATA.
- thirdPartyAuth
- Flag to indicate that the IBM Sterling B2B Integrator is acting as a Third Party that will send a notification message (in Y-Copy mode). Valid values are TRUE or FALSE. This parameter should be used together with the required AuthDecision and MessageName parameters, and optional ToSndrInfo, ToRcvrInfo and RefuseReason parameters.
- AuthDecision
- The third party decision. Valid values are Authorised or Refused. Use this parameter with the thirdPartyAuth parameter.
- MessageName
- The name of the HeaderInfo message, as inserted into the mailbox. The format is ThirdParty_[CopySnFRef]. When you use Mailbox Extract service to extract the HeaderInfo message from mailbox, by default the name is available in Process Data.
- ToSndrInfo
- If you are the third party and decide to authorize a request or file notification, this parameter enables you to specify Third Party to Sender Information. The information can be in any format (plain text or XML). If you use XML format, this parameter should be CDATA.
- ToRcvrInfo
- If you are the third party and decide to authorize a request or file notification, this parameter enables you to specify Third Party to Receiver Information. The information can be any format (plain text or XML). If you use XML format, this parameter should be CDATA.
- RefuseReason
- If you are the third party and you refuse a request or file notification, you can specify a Refusal Reason in this parameter. The information can be any format (plain text or XML). If you use XML format, this parameter should be CDATA.
- sign
- Whether an end-to-end signature is required.
- useSignatureList
- Whether to use a signature list. This enables you to select your own signatures. If you do not use a signature list then normal Crypto is used.
- returnSignatureList
- Whether to return a signature list.
- useRND
- Whether to use RND (digest reference values that terminate on “and RND”). Valid values are False (default) and True.
- renewDN
- The distinguished name of the user. This is used for the renewal of Security Context.
- MEFGServerHost
- The IP address of the SWIFTNet MEFG Server. Required.
- MEFGServerPort
- The port of the SWIFTNet MEFG Server. Optional. Default value is NULL.
- MEFGServerResponse
Timeout - Timeout period (in seconds) for the SWIFTNet MEFG Server to respond. Optional. Default value is 60.
- UseSSL
- Flag to indicate whether to secure communication between the IBM Sterling B2B Integrator and the SWIFTNet MEFG Server with SSL. Possible values are TRUE or FALSE (default). Optional.
- CACertId
- The public key certificates for the SWIFTNet MEFG Server. Required if SSL is set to TRUE.
- CipherStrength
- The level of encryption to be applied on the data channel. Possible values are All (default), Weak, or Strong. Optional.
- useInputChannel
- Whether to use the input channel.
- forceOpen
- Whether to force the channel open.
- switchToSnF
- Whether to switch to store-and-forward mode when real-time transmission fails. Select True if you want to switch to Store and Forward mode when the real-time transmission (InterAct and FileAct Put) has failed. Valid values are True and False.
- SnFServiceName
- The name of the store-and-forward service. Required when Switch to SnF mode when real-time transmission failed is set to True.
- HTTPClientAdapter
- HTTP Client Adapter instance that is used to communicate with the SWIFTNet MEFG Server. Optional. Default value is SWIFTNetHTTPClientAdapter.
Upgrading the SWIFTNetClient Business Process to Use the Integrated SWIFTNet Client Service
Now that the SWIFTNet Client service has been enhanced to support SSL, the SWIFTNet Client service has also been improved by integrating all the outbound services internally. To use the SWIFTNet Client service, you must upgrade the SWIFTNetClient business process. The upgraded BPML differs based on whether you are using InterAct or FileAct.
Upgrading the SWIFTNetClient Business Process for InterAct
If you are using InterAct, this is the complete BPML to execute the SWIFTNet Client service for InterAct:
<process name="SWIFTNetClient">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<!-- build SWIFTNET request -->
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"/>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
Upgrading the SWIFTNetClient Business Process for FileAct
If you are using FileAct, this is the complete BPML to execute the SWIFTNet Client service for FileAct:
<process name="SWIFTNetClientFA">
<sequence name="SWIFTNetClientService">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<!-- build SWIFTNET request -->
<operation>
<participant name="SWIFTNetClientService"/>
<output message="handleClientRequest">
<assign to="." from="*"/>
<assign to="physicalFilename" from="''"/>
<assign to="logicalFilename" from="''"/>
<assign to="transferInfo" from="''"/>
<assign to="transferDesc" from="''"/>
<assign to="fileInfo" from="'SwCompression=None'"/>
<assign to="fileDesc" from="''"/>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
</sequence>
</process>
Enabling SWIFTNet Document Tracking
When you are creating or editing your SWIFTNet Client business process in the business process text editor, you can easily enable SWIFTNet document tracking in the IBM Sterling B2B Integrator by selecting the Document Tracking check box on the Process Levels page. Set the following options as needed and leave the rest of the business process parameters as the defaults:
- On the Deadline Settings page, set the deadline and notification options, if necessary.
- On the Life Span page, set the life span, if necessary.