Have Questions?  Need Expert Answers?  JOIN LUNCH N' LEARNS!

Put Message

Prev Next
Step Details
Introduced in Version3.0.0
Last Modified in Version7.15.0
LocationIntegration > MSMQ

The Put Message step is used to put a message inside a message queue. 

Prerequisites 

  • This step requires the MSMQ module to be installed before it will be available in the toolbox. 
  • A dependency must be created after installing the module in order for the the steps to be properly used.

Properties

Inputs

PropertyDescriptionData Type
MessageMessage to be placed into a queue.String
Path Queuepath to the designated queue to place message in.String


Common Errors

Length ('-1') must be a non-negative value. 

If the queue path provided does not exist and the MSMQ library cannot resolve the issue, the step will cause an error.

To correct this, change the queue path in the step to be valid and appropriately formatted.

Exception Message:

DecisionsFramework.Design.Flow.ErrorRunningFlowStep: Error running step Put Message 1[PutMessage] in flow [Step Library Flow]: Exception invoking method PutMessage on class MSMQSteps
 ---> DecisionsFramework.LoggedException: Exception invoking method PutMessage on class MSMQSteps
 ---> DecisionsFramework.LoggedException: Failed to put a message by path: localhost/queue
 ---> System.ArgumentOutOfRangeException: length ('-1') must be a non-negative value. (Parameter 'length') Actual value was -1. at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
 at System.ArgumentOutOfRangeException.ThrowIfNegative[T](T value, String paramName)
 at System.String.ThrowSubstringArgumentOutOfRange(Int32 startIndex, Int32 length)
 at System.String.Substring(Int32 startIndex, Int32 length)
 at Experimental.System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)
 at Experimental.System.Messaging.MessageQueue.get_FormatName()
 at Experimental.System.Messaging.MessageQueue.get_QueueInfoKey()
 at Experimental.System.Messaging.MessageQueue.get_MQInfo()
 at Experimental.System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, IntPtr transaction)
 at Experimental.System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)
 at Experimental.System.Messaging.MessageQueue.Send(Object obj)
 at Decisions.Messaging.MSMQ.MSMQSteps.PutMessage(String pathQueue, String message)
   --- End of inner exception stack trace --- at Decisions.Messaging.MSMQ.MSMQSteps.PutMessage(String pathQueue, String message)
 at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
 at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   --- End of inner exception stack trace --- at DecisionsFramework.Design.Flow.StepImplementations.InvokeMethodStep.Run(StepStartData data)
 at DecisionsFramework.Design.Flow.FlowStep.RunStepInternal(String flowTrackingID, String stepTrackingID, KeyValuePairDataStructure[] stepRunDataValues, AbstractFlowTrackingData trackingData)
 at DecisionsFramework.Design.Flow.FlowStep.Start(String flowTrackingID, String stepTrackingID, FlowStateData data, AbstractFlowTrackingData trackingData, RunningStepData currentStepData)
   --- End of inner exception stack trace ---


Related Information


Related Articles:

MSMQ Module

About Messaging