【问题标题】:Use WCF to receive any XML message from an MSMQ Queue?使用 WCF 从 MSMQ 队列接收任何 XML 消息?
【发布时间】:2009-08-13 14:11:53
【问题描述】:

我有一个从各种来源接收 XML 格式消息的 MSMQ。我有一个想要接收这些消息的 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 的字符串缓冲区,我如何使用 System.Messaging.MessageQueue.Send 将它放到 MSMQ 上而不将其包装在额外的 xml 中?

【问题讨论】:

    标签: c# xml wcf msmq


    【解决方案1】:

    我没有使用 MSMQ 集成,但请尝试MsmqMessage&lt;XmlElement&gt;

    如果可能的话,不要将 XML 当作字符串来操作。始终使用众多 XML API 之一。

    【讨论】:

    • 谢谢约翰,这似乎已经明白了。我不想操作 XML,甚至不想知道架构,我只需要将它从队列中拉出并继续发送,因此我认为我可以将它作为字符串获取并避免反序列化它。不过,这应该能胜任这项工作。再次感谢!
    猜你喜欢
    • 2011-07-08
    • 2020-04-13
    • 1970-01-01
    • 2013-04-22
    • 2012-02-19
    • 1970-01-01
    • 2012-11-16
    • 2011-09-09
    • 2010-09-19
    相关资源
    最近更新 更多