public virtual IMessage ToNmsMessage()

in src/main/csharp/DefaultMessageConverter.cs [155:225]


		public virtual IMessage ToNmsMessage(Message message, bool convertBody)
		{
			BaseMessage answer = CreateNmsMessage(message, convertBody);

			// Get the NMS property data from the extension area
			PrimitiveMap propertyData = PrimitiveMap.Unmarshal(message.Extension);

			try
			{
				answer.NMSMessageId = message.Id;
				answer.NMSCorrelationID = propertyData.GetString("NMSCorrelationID");
				answer.NMSDeliveryMode = (message.Recoverable ? MsgDeliveryMode.Persistent : MsgDeliveryMode.NonPersistent);
				answer.NMSDestination = ToNmsDestination(message.DestinationQueue);
			}
			catch(InvalidOperationException)
			{
			}

			try
			{
				answer.NMSReplyTo = ToNmsDestination(message.ResponseQueue);
				answer.NMSTimeToLive = message.TimeToBeReceived;
			    answer.NMSPriority = ToNmsMsgPriority(message.Priority);
			}
			catch(InvalidOperationException)
			{
			}

			try
			{
                if(message.Label != null)
                {
                    if(SetLabelAsNMSType)
                    {
                        answer.NMSType = message.Label;
                    }
                    else
                    {
                        answer.Properties["Label"] = message.Label;
                    }
                }
                answer.Properties["LookupId"] = message.LookupId;
			}
			catch(InvalidOperationException)
			{
			}

            foreach(object keyObject in propertyData.Keys)
            {
			    try
			    {
                    string key = (keyObject as string);
                    if(string.Compare(key, "NMSType", true) == 0)
                    {
			    	    answer.NMSType = propertyData.GetString(key);
                    }
                    else if(string.Compare(key, "NMSCorrelationID", true) == 0)
                    {
			    	    answer.NMSCorrelationID = propertyData.GetString("NMSCorrelationID");
                    }
                    else
                    {
			    	    answer.Properties[key] = propertyData[key];
                    }
			    }
			    catch(InvalidOperationException)
			    {
			    }
            }
			return answer;
		}