使用WCF从MSMQ队列接收任何XML消息?

时间:2009-08-13 14:11:53

标签: c# xml wcf msmq

我有一个MSMQ,它接收来自各种来源的XML格式消息。我有一个WCF端点(使用MsmqIntegrationBinding),我想接收这些消息。我定义了以下内容:

[ServiceContract(Namespace = "http://TestApp.MSMQService", ProtectionLevel = ProtectionLevel.None)]
[ServiceKnownType(typeof(String))]
public interface IMsmqReceiverService
{
    [OperationContract(IsOneWay = true, Action = "*")]
    void SubmitQueueMessage(MsmqMessage<String> msg);
}

希望收到任何XML消息,但它只接收格式化的消息:

<?xml version="1.0">
<string>message</string>

由于各种原因,我们不知道,也不想知道,xml消息的模式,将其转换为String就足够了。如何定义一个端点,该端点接收到任何到达队列的节点的XML消息,而不管消息中使用的模式如何?

此外,给定一个包含消息XML的String缓冲区,如何使用System.Messaging.MessageQueue.Send将其放入MSMQ而不将其包含在其他xml中?

1 个答案:

答案 0 :(得分:1)

我没有使用MSMQ集成,但请尝试MsmqMessage<XmlElement>

如果您可以提供帮助,请不要将XML作为字符串进行操作。始终使用众多XML API之一。