Message Sender - Context

The sender may require context information to define additional information needed by the system to successfully send outgoing messages. Open Admin > Integration > Message Sender and navigate to the Context page.

Description of Page

Define the Context Type and Context Value, which contain parameters for senders when more information is required. See below for the supported context values for different types of senders.

Email Sender Context

The email sender is used by the business service that sends email messages real-time.

An email sender must point to the Message Class RTHTTPSNDR. In addition, the following context records should be defined for senders of this type.

Context Type Description
SMTP Host name The SMTP server host name.
SMTP Username The user ID used to access the SMTP server.
SMTP Password The password used to access the SMTP server.
Response Time Out The amount of time the system should wait for a real time response.

HTTP Sender

An HTTP sender is one that sends messages to an HTTP server using the HTTP protocol. HTTP senders should reference a Message Class of RTHTTPSNDR, RTJSONSNDR or SOAPSNDR.

Various parameters are required to establish a session with the target HTTP server. You specify these parameters by defining a collection of context values for the sender. A set of context types related to HTTP variables is provided with the product. The following section describes the context types and where appropriate, indicates valid values.

Before defining the HTTP sender, you need to find out how the HTTP server on the other side expects to receive the request, and in particular, to answer the following questions:

  • What is the address of the HTTP server?
  • Is the HTTP server using a POST or GET HTTP method?
  • If the server is using POST, how are message contents passed? Does it use an HTTP FORM or does it pass the data in the body of an XML message?
Context Type Description Values
HTTP URL1 - URL9

Used to construct the URL of the target HTTP server.

Since the URL may be long and complex, you can break it into smaller parts, each defined by a separate context record. The full URL is built by concatenating the values in URL1 through URL9.

You may use substitution variables when entering values for URL parts. Note that the substitution string @XMLMSG@ may be used for GET calls if an XSL has been applied to convert the message into HTTP GET parameters. It is useful if the HTTP Form is not applicable to the type of message.

Refer to Support for Dynamic URLs for configuration needed to support dynamic URLs when sending an outbound message.

HTTP Method The HTTP method used to send the message.
Note: The SOAP sender message class SOAPSNDR only supports the POST method.
POST or GET
HTTP Transport Method Specifies the type of the message. You can either send the message or send and wait for a response. Send or sendReceive
HTTP Form Data

Used when the message is in the format of an HTML Form (Content-Type: application/x-www-form-urlencoded).

This context specifies the form parameters (data) that should be passed in the HTTP message. Since a form may have multiple parameters, you should add a context record for each form parameter.

The value of a form parameter takes the format of x=y where x is the form parameter name and y is its value.

If y contains the string @XMLMSG@ (case sensitive) then this string is replaced by the content of the service response XML message. The @XMLMSG@ string can be used in the HTTP Form Data or in the HTTP URL, but not in both.

If a context record of this type is defined for a sender, the sender uses the HTML Form message format to send the message even if @XMLMSG@ is not specified in one of the context records.

If a context record of this type is not defined for a sender, then the XML is sent with Content-Type: text/plain. When using POST it is put in the HTTP message body.

Always required when using the GET method. If you are using the GET method and do not specify a Form Data context record, no message is transferred to the HTTP server.

You may use substitution variables when entering values for Form Data.

HTTP Login User The HTTP server may require authentication. Add a context record of this type to specify the login user to use.
HTTP Login Password The HTTP server may require authentication. Add a context record of this type to specify the login password to use.
HTTP Header

Sometimes the HTTP server on the other side may require the addition of HTTP headers to the message.

For each HTTP header that has to be specified you should add a context record with a value having the following format x:y where x is the header name and y is the value for the header

HTTP Time Out Indicates the amount of time to wait for a connection to be established with the remote system.
Character Encoding Indicates if the message should be encoded. The sender will add to the HTTP's content type header the string ;charset=x where x is the value of this context and when sending the message it will encode the data in that encoding. UTF-8 or UTF-16
Response Time Out The amount of time the system should wait for the remote system to send a response.
Sender Security Type Indicate the desired security type to apply. (Note that additional security types are applicable only to the SOAP Sender. See below for more information.) BASIC (HTTP Basic), TEXT (Username Token plain text), DIGEST - Username Token Digest, OWSM - OAuth Security via OWSM, OAUTH - OAuth Security.
OWSM Policy Set

Applicable only if the Sender Security Type is OWSM. Defines the policy set to apply.

Enter a valid value for the extendable lookup Set of Policies (F1-SetOfPolicies). The product provides the value F1-OAUTH that may be used here.
OAuth Grant Type

Applicable only if the Sender Security Type is OAUTH . Defines the OAuth specification method for acquiring an access token.

client_​credentials
OAuth Access Token URL

Used to construct the URL of the target authorization server. You may use substitution variables to construct the URL.

OAuth Client ID

The generated identifier for the current application in the external system’s authorization server.

OAuth Client Secret

The secret paired with the OAuth Client ID as provided by the external system’s authorization server.

OAuth Key Ring

Defines the key ring used to store the OAuth Client ID and secret provided by the external system’s authorization server. If a key ring is specified, the OAuth Client ID and OAuth Client Secret context entries are not allowed.

OAuth REST API Scope

The authorization level granted by the end point.

OAuth Token Request Details in Body

By default, the authorization token request includes the Client ID and Secret information in the message header. This context type may be used to indicate that this information should be sent in the body of the request instead.

Set this to ‘Y’ to send the Client ID and Secret information as part of the body of the authorization token request.

Real-time HTTP Sender

The following context type is only applicable to senders with the RTHTTPSNDR message class.

Context Type Description
Content Type Populate a value here to override the Content-Type attribute in the HTTP header, which defaults to text/xml.

SOAP Sender

A SOAP sender is an HTTP sender that automatically adds support for the SOAP format. For this type of sender (message class of SOAPSNDR), besides the context values listed above, the following context entries may also be supplied.

Context Type Description Values
Message Namespace URI Used to indicate a specific namespace to be included in messages for this sender. Note that this value is used only when the External Message link to this sender is configured with a Namespace Option of Configured on Sender.
SOAP Insert Timestamp Indicate whether a timestamp should be added. Default value is 'N'. Y or N
SOAP Expiration Delay (in seconds) Indicate an expiration delay to add to the timestamp. The default value is 60.
Sender Security Type Additional security types are supported for SOAP senders for specific third party integrations. CIM - Uses an appropriate namespace and adds security information in the SOAP header specific to Landis+Gyr, MS_​V30 - Uses an appropriate namespace and adds security information in the SOAP header specific to MultiSpeak v3.0, MS_​V41R - Uses an appropriate namespace and adds security information in the SOAP header specific to MultiSpeak v4.1.ITRON - Uses appropriate SOAP header information security information in the SOAP header specific to Itron.
Note: Refer to Add SOAP Header Parameters at Runtime for information about dynamically including SOAP Header parameters when sending a message.

JMS Sender

A JMS sender is one that sends messages to a JMS queue or JMS topic. JMS senders should reference a Message Class of RTJMSQSNDR or RTJMSTSNDR, respectively.

The following parameters are used to connect to the JMS resource.

Context Type Description Values
JMS Message Type (Bytes(Y)/Text(N) Indicates whether the data is sent as a bytes message or as a text message. Y or N
JMS User Name Enter the user name to connect to the JMS resource.
JMS User Password Enter the password to use to connect to the JMS resource.
JMS Header

If JMS header values are required for the message, use this context type.

For each JMS header that has to be specified, add a context record with a value having the following format x:y where x is the header name and y is the value.

Application Variables

Some APIs may require application identifying variables to be included in the message payload. These values are typically available at provisioning time and need to be captured in relation to these API configurations.
Note: This type of context is not involved in the process of orchestrating and routing the API call. It needs to be incorporated into the payload by the application logic that composes the message using the "Get Application Variables (F1MsgVars)" service script.

The following parameters may be used to capture application variables.

Context Type Description Values
Application ID Identifies the current environment for this API. Determined at provisioning time by the API provider.
Tenant ID Identifies the current tenant for this API. Determined at provisioning time by the API provider.