Hi Manuel, If its a timeout that's causing the request to the fail, surely a better solution would be to increase the timeout expiry period, rather than causing the request to be re-sent (possibly triggering the timeout a second time)?
> [server side] java.net.HttpRetryException: cannot retry due to server > authentication, in streaming mode To avoid this issue, you'll need to disable chunking, using something like the emboldened sections in the following client-side config: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" *xmlns:http-conf=" http://cxf.apache.org/transports/http/configuration" * xsi:schemaLocation="* http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd *http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> * <http-conf:conduit name="*.http-conduit"> <http-conf:client AllowChunking="false" /> </http-conf:conduit> * </beans> > [server side] org.apache.cxf.binding.soap.SoapFault: Duplicate Message ID > urn:uuid:49f2fe2b-e2d5-4fec-8b4d-df8987bf829a This error is caused by the server-side WS-Addressing layer rejecting the resent message due to the duplicate message ID. Now you can explicitly configure the WSAddressingFeature to allow duplicates as follows: <wsa:addressing allowDuplicates="true"/> but this has actually been the default behaviour for quite some time. You're overriding the default behaviour in src/main/resources/cxf-services.xml with the following setting: <wsa:addressing allowDuplicates="false" /> So you'll need to remove that allowDuplicates attribute. Cheers, Eoghan 2009/8/3 EVENO Manuel <[email protected]>: > > Hi everyone, > > I'm trying to create an sample with CXF and WS-ReliableMessaging. > I'm specifically interested in the delivery assurance functionality. > I'm trying to implement a AtLeastOnce message exchange but with no success. > > My use case is a client calls a service but that service takes a long time > to execute > so the client side request ends with a timeout. In that case, I want the > message > to be sent again. > > I've already tried to add some policy rule in my wsdl but I don't really > understand > how to write this part (I've also tried to read W3C and OASIS specifications > but > everything is not that simple and clear. > > So I'm trying to use CXF WS-Policy Framework but I don't really understand > what's going on. > Various exceptions occurs in my log and I don't know how to solve them : > [server side] java.net.HttpRetryException: cannot retry due to server > authentication, in streaming mode > [server side] org.apache.cxf.binding.soap.SoapFault: Duplicate Message ID > urn:uuid:49f2fe2b-e2d5-4fec-8b4d-df8987bf829a > > Here my reduced maven project, including the WebService that can be run with > Tomcat or jetty > And a web service client implemented as a JUnit Test. > <<reliable-webservice.zip>> <<server.log>> <<client.log>> > > If anybody has time to have a look or a sample (of delivery assurance > feature), this would be very helpful ! > > Regards, > Manuel
