2009-08-13 24 views
3

私はさまざまなソースからXML形式のメッセージを受信するMSMQを持っています。これらのメッセージを受信するWCFエンドポイント(MsmqIntegrationBindingを使用)があります。私は、次のように定義される:WCFを使用してMSMQキューからXMLメッセージを受信しますか?

それは任意のXMLメッセージを受け取ることになることを望ん
[ServiceContract(Namespace = "http://TestApp.MSMQService", ProtectionLevel = ProtectionLevel.None)] 
[ServiceKnownType(typeof(String))] 
public interface IMsmqReceiverService 
{ 
    [OperationContract(IsOneWay = true, Action = "*")] 
    void SubmitQueueMessage(MsmqMessage<String> msg); 
} 

、しかしそれだけでフォーマットされたメッセージを受信:私たちが知らない様々な理由

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

をし、知っている必要はありません、XMLメッセージのスキーマをStringに変換するだけで十分です。メッセージに使用されているスキーマに関係なく、キューに到着するノードを持つXMLメッセージを受信するエンドポイントを定義するにはどうすればよいですか。

さらに、メッセージのXMLを含むStringバッファがあれば、System.Messaging.MessageQueue.Sendを使用してそれをMSMQに追加するには、追加のxmlでラップする必要はありませんか?

答えて

1

私はMSMQ統合を使用していませんが、MsmqMessage<XmlElement>を試してみてください。

おそらく助けることができる場合は、XMLを文字列として操作しないでください。常に多くのXML APIの1つを使用してください。

+0

ありがとうジョン、それはそれを得たようです。 XMLを操作したくない、スキーマを知りたくない、キューから取り出して送信する必要がある、なぜ私はそれを文字列として取得してデシリアライズを避けることができると思ったのですか?それ。 しかし、これは仕事だと思います。再度、感謝します! –

関連する問題