Ich versuche, eine Nachricht auf einem MSMQ mit WCF mit einer MsmqIntegrationbinding zu senden. Das Senden funktioniert, aber wenn ich die Nachricht ansehe, die an die Warteschlange gesendet wurde. Die Codierung ist falsch.Ändern Sie die Nachrichtencodierung von MsmqIntegrationBinding
Ist es möglich, die Nachrichtencodierung in UTF-16 zu ändern? Ich habe bereits versucht, dies mit einer benutzerdefinierten Bindung zu lösen. Das hat mein Problem nicht gelöst. Ich habe die benutzerdefinierte Bindung eingefügt, die ich unten verwendet habe.
<binding name="CustomMsmqIntegrationBinding">
<textMessageEncoding messageVersion="None" writeEncoding="utf-16" />
<msmqIntegration exactlyOnce="true">
<msmqTransportSecurity msmqAuthenticationMode="None" msmqProtectionLevel="None" />
</msmqIntegration>
</binding>
Das Problem, das ich habe, ist, dass die Anwendung, die die Warteschlange verbraucht, die Nachrichten nicht abholen wird. Ich dachte, dies sei wegen der Kodierung der Nachricht. Das Problem kann jedoch woanders liegen. Die Nachricht, die von der MsmqIntegrationBinding gesendet wird, ist eine binäre XML-Datei. Die konsumierende Anwendung akzeptiert wahrscheinlich nur reinen Text. Weißt du, ob es möglich ist, die Nachricht als Klartext an die Warteschlange zu senden? – Casper
@Casper: Die binäre Bindung ist Standard, so dass Sie eine benutzerdefinierte Bindung so versuchen: ' customBinding> ' Aber ich bin kein Experte in diesem. :( –