Eoghan Glynn wrote:
Hi Bryan,
> OK.. I was able to get it to work with some configurations. Here is a
> writeup on what I had to do:
>
>
http://kearneyville.com/2009/03/13/connecting-jboss-web-service-with-a-wcf-client/
So you can force WCF to revert to WS-A version 2004/08 with the
messageVersion="Soap11WSAddressingAugust2004" attribute in the config?
Well that's good to know, thanks!
> I am still getting an occasional error, however. Have you seen anything
> like this:
> ...
>
> Unhandled Exception: System.ServiceModel.ProtocolException: The remote
> endpoint failed to include a required SequenceAck
> nowledgement header on a reliable reply message. The reliable session
> was faulted.
This smells like a mismatch in terms of the acknowledgement frequency of
the CXF RM layer versus the expectation in the WCF client.
One possibility is that you just need to tweak the configuration. For
example, you can force CXF to send the ACKs sooner by adding a
<wsrm-policy:AcknowledgementInterval Milliseconds="N"/> child element to
the <wsrmp:RMAssertion> assertion in your jboss-cxf.xml, where N is some
number less than the default 2000. Conversely, increase the
retransmission interval on the WCF side, or the inactivity timeout by
up'ing the inactivityTimeout attribute on <reliableSession> from the
current "00:15:00" in your client-side app.config.
So.. I updated the jboss-cxf.xml file to be this:
<wsp:Policy wsu:Id="wsrm10policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wswa:UsingAddressing
xmlns:wswa="http://www.w3.org/2006/05/addressing/wsdl" />
<wsrmp:RMAssertion
xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" >
<wsrmp:AcknowledgementInterval Milliseconds="1000"/>
</wsrmp:RMAssertion>
</wsp:Policy>
I am not seeing the error, but it was pretty intermittant. If I keep
seeing it again I will dig into the rest of your message.
Thanks for you help! On to security and full duplex :)
-- bk