Skip to main content
Skip table of contents

MSMQSender4.0

The MSMQSender component is used to send messages to MSMQ. The component supports different formatters that can format the incoming messages in a form recognizable by the various client applications to receive. The name of the queue to which a message needs to be sent can be specified using the CPS.

Points to note

  • This component runs only on Windows Platform.
  • This component does not support 64-bit JDK; please use 32-bit JDK to run this component.
  • This component requires Microsoft .NET Framework 2.0 or above installed on the machine where peer server is running.
  • If a queue specified in the CPS does not exist in a local or remote MSMQ server, it is not automatically created.
  • The component sends a message of string type when object Type property is set to false, When the message is to be sent in a particular object type, that object type must confirm to the XMLSerializer. Hence the component supports sending messages of types that can be serialized/deserialized using XMLSerializer. For more information on XMLSerializer, refer: http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx

Configuration

The MSMQ server, queue and formatters can be configured in the CPS.

Managed Connection Factory


Figure 1: Sample MSMQ server configuration

Use Connection Details From Input

If enabled, it will use the connection details from the input request. If the Connection property is not specified in input, then the value provided in this panel will be used.

Connection Configuration

Server Name

Name of the server to be used for communicating with the Queue Manager.

Provide MachineName in case of OS protocol, IP Address in case of TCP protocol and NetworkNumber; HostNumber in case of SPX. IP address or full DNS name of the host computer (or the computer name within an enterprise) in case of HTTP/HTTPS

Queue Name

Name of the Queue to which a component needs to be connected to.

Queue Type

Name of the Queue to which a component needs to be connected to; choose form the following options available:

  • private
  • public
Protocol

Protocol to be used to retrieve/send messages from/to MSMQ server. Use 'OS' to access with Machine Name and 'TCP' to access with IP Address. To use HTTP/HTTPS MSMQ HTTP Support should have been installed during MSMQ installation.

Options available are:

  • OS
  • HTTP
  • HTTPS
  • TCP
  • SPX
  • SPX is valid in case of Windows NT or Windows 2000 only.
  • HTTP, HTTPS and SPX work only with MSMQ version 3.0 or higher.
Transaction

Specifies whether the queue is transacted or not. If this property is enabled, it represents a transacted operation; each message will be wrapped in a transaction while sending.

Connection Pool Params

Please refer the respective section in Common Configurations page.

Interaction Configurations

Pre Processing XSL Configuration

Pre Processing XSL configuration can be used to transform request message before processing it. Click the ellipses button against the property to configure the properties.

Refer to the Pre/Post Processing XSL Configuration section under the Common Configurations page for details regarding Pre Processing XSL configuration and Post Processing XSL configuration (below).

Post Processing XSL Configuration 

Post Processing XSL configuration can be used to transform the response message before sending it to the output port.

Process Message Based on Property

The property helps components to skip certain messages from processing.

Refer to the Process Message Based On a Property section under the Common Configurations page.

Validate Input

If this property is enabled, it validates the input request with the input port XSD.

Refer to the Validate Input section under the Common Configurations page.

Cleanup resources (excluding connection) after each document

This closes all the resources except for the connection used by MSMQSender4.0 after every request. If the less processing time is more important the less memory usage, then it is recommended to disable this property and vice versa.

For more details, refer to the respective section under in the Common Configurations page.

Target Namespace

Refer to the Target Namespace section under the Common Configurations page.

Monitoring Configuration

Please refer to the Monitoring Configuration section in Common Configurations page.

Elements to Decrypt

Select elements to decrypt in the Input Message.

Refer to the Encrypt Decrypt Configuration section in the Common Configurations page for details.

Elements to Encrypt

Select elements to encrypt in the Output Message.

Refer to the Encrypt Decrypt Configuration section in the Common Configurations page for details.

Scheduler Configuration

Please refer the respective section in Common Configurations page.

Error Handling

Please refer Error Handling section Common Configurations page for details.

Message Properties

Apart from the above CPS properties, certain other properties can be set as JMS header properties on the incoming message to the component which will be set to the message being sent to the queue. All these properties should be of string type:

  • MSMQ_CORRELATION_ID: Sets the message identifier to reference the original message.
  • MSMQ_MESSAGE_LABEL: Sets an Unicode string that describes the message
  • MSMQ_PRIORITY: Sets the message priority, which determines where in the queue the message is placed. It can take the values from 0 to 7.
  • MSMQ_TTL: Sets the maximum amount of time for the message to reach the queue. The message is discarded without input into queue, if that time interval is exhausted. Time interval must be in milliseconds
  • MSMQ_USE_JOURNAL_QUEUE: Sets a value that indicates whether a copy of the message should be kept in a machine journal on the originating computer.
  • MSMQ_USE_DEADLETTER_QUEUE: Sets a value that indicates whether a copy of the message that could not be delivered should be sent to a dead-letter queue.

Input Schema

Scenario 1

When 'Use Connection from input' is disabled and there is no schema set XSD of message body

In this case, There is no schema that the Input port requires. The input message can simply be any plain text

Scenario 2

When 'Use Connection from input' is disabled and there is a schema set XSD of message body

In this case, The Input port requires the message to be in XML format and it must confirm to the XSD set inside the CPS


Figure 2: Input Schema When Use Connection from input is disabled and there is a schema set XSD of message body

Scenario 3

When 'Use Connection from input' is enabled and there is no schema set XSD of message body

In this case, The Input port requires the message to be in XML format and it should contain all the Connection-configuration values. The XSD for the message is generated automatically and it has an element defined for each property of the CPS. For any value not specified in the input message, the values set inside the CPS will be taken by default


Figure 3: Input Schema When Use Connection from input is set to Yes and there is no schema set XSD of message body

Scenario 4

When 'Use Connection from input' is enabled and there is a schema set XSD of message body

In this case, The Input port requires the message to be in XML format and it should contain all the Connection-configuration values along with the XSD required for the message body. The XSD for the message is generated automatically and it has an element defined for each property of the CPS along with an element "Body" which contains the XSD of the message body. For any value not specified in the input message, the values set inside the CPS will be taken by default.


Figure 4: Input Schema When Use Connection from input is enabled and there is a schema set XSD of message body

Functional Demonstration

Scenario

Send messages to a local MSMQ Server.

Configure the MSMQ Sender in scheduling mode and provide required assemblies for XMLMessageFormatter and use Display component to check the response.


Figure 5: Demonstrating Scenario 1 with sample output


Figure 6: Sample Output


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.