我有一个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中?
答案 0 :(得分:1)
我没有使用MSMQ集成,但请尝试MsmqMessage<XmlElement>
。
如果您可以提供帮助,请不要将XML作为字符串进行操作。始终使用众多XML API之一。