Note that there are some explanatory texts on larger screens.

plurals
  1. POWCF Router raising Exception over RM packets
    primarykey
    data
    text
    <p>I have a WCF Router setup where the client communicates to the target service with WS Http bindings using reliable messaging (RMP.) When the connection between client service to router is WS HTTP and router to target service is WS HTTP, all works as expected. I log the SOAP packets as they hit the router and they look like:</p> <pre><code>&lt;s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:r="http://docs.oasis-open.org/ws-rx/wsrm/200702" xmlns:a="http://www.w3.org/2005/08/addressing"&gt; &lt;s:Header&gt; &lt;r:Sequence s:mustUnderstand="1"&gt; &lt;r:Identifier&gt;urn:uuid:76bac170-ace3-4a9b-8a5f-eba263cbdf57&lt;/r:Identifier&gt; &lt;r:MessageNumber&gt;1&lt;/r:MessageNumber&gt; &lt;/r:Sequence&gt; &lt;a:Action s:mustUnderstand="1"&gt;http://tempuri.org/Foo/Connect&lt;/a:Action&gt; &lt;a:MessageID&gt;urn:uuid:d76b500f-f59e-41a1-9831-cb33e2f9eb3c&lt;/a:MessageID&gt; &lt;a:ReplyTo&gt; &lt;a:Address&gt;http://www.w3.org/2005/08/addressing/anonymous&lt;/a:Address&gt; &lt;/a:ReplyTo&gt; &lt;a:To s:mustUnderstand="1"&gt;http://foobox:62435/RouterService.svc&lt;/a:To&gt; &lt;/s:Header&gt; &lt;s:Body&gt; &lt;Connect xmlns="http://tempuri.org/"&gt; &lt;!-- Request body removed --&gt; &lt;/Connect&gt; &lt;/s:Body&gt; &lt;/s:Envelope&gt; </code></pre> <p>This returns a valid response.</p> <p>The problem is when I switch to an HTTPS connection between the client service and the router and keep the WS HTTP connection between the router and the target service, it's logging the WS-RM messages:</p> <pre><code>&lt;s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"&gt; &lt;s:Header&gt; &lt;a:Action s:mustUnderstand="1"&gt;http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence&lt;/a:Action&gt; &lt;a:MessageID&gt;urn:uuid:96d7c674-471e-4c9d-8ba5-7a1c8ed3275b&lt;/a:MessageID&gt; &lt;a:To s:mustUnderstand="1"&gt;https://foobox:44300/RouterService.svc&lt;/a:To&gt; &lt;/s:Header&gt; &lt;s:Body&gt; &lt;CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"&gt; &lt;AcksTo&gt; &lt;a:Address&gt;http://www.w3.org/2005/08/addressing/anonymous&lt;/a:Address&gt; &lt;/AcksTo&gt; &lt;Offer&gt; &lt;Identifier&gt;urn:uuid:de2129d5-58f2-4672-915f-eb3196d51bff&lt;/Identifier&gt; &lt;/Offer&gt; &lt;/CreateSequence&gt; &lt;/s:Body&gt; &lt;/s:Envelope&gt; </code></pre> <p>And this is generating the following ActionNotSupported exception in the client service:</p> <blockquote> <p>The message with Action '<a href="http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence" rel="nofollow">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</a>' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</p> </blockquote> <p>This error makes sense considering that the service interface doesn't handle <code>CreateSequence</code> messages but I'm not sure why switching to SSL causes these to be explicitly sent to the target service.</p> <p>What can I do to get the router to properly pass/handle the WS-RM packets?</p> <p><strong>Update:</strong></p> <p>WS HTTP over Transport Security doesn't (seem to) allow reliable messaging (generates an error) so the client to router connection is using an HTTPS binding with reliable messaging. I'm thinking that the problem is the router needs to convert the RM action messages into WS HTTP messages, but I'm not sure how to do this.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload