camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rdomingo ...@domingo.nl>
Subject Problem with CXF Failover -> Already connected error
Date Mon, 15 Mar 2010 19:33:56 GMT

I need to implement failover for my webservices, but I can't get it working.
I'm struggeling with this for some time and it really is getting a problem.
I keep getting error below when it needs to failover:
...
org.apache.cxf.interceptor.Fault: Already connected
	at
org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:101)
	at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
...
Caused by: java.lang.IllegalStateException: Already connected
	at
java.net.HttpURLConnection.setFixedLengthStreamingMode(HttpURLConnection.java:121)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.thresholdNotReached(HTTPConduit.java:1888)
	at
org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutputStream.java:99)
	at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1979)
...

My route seems to work ok when not failing over. I tested my webservice
standalone and when I comment out the first webservice in my camelContext
(after restarting) the second one works ok.

But when I have the failover configured like below, when I undeploy first
webservice I get exception above, IT DOESNT FAILOVER :(

        <route>
            <from
               
uri="cxf://http://0.0.0.0:8081/fooServer/echo?wsdlURL=http://localhost:8080/fooServer1-0.0.1a-SNAPSHOT/echo&#63;wsdl&amp;serviceName={http://www.telecats.nl/nl.telecats.bvibluenode.adt.server-push.fooService}EchoService&amp;portName={http://www.telecats.nl/nl.telecats.bvibluenode.adt.server-push.fooService}EchoServiceImplPort&amp;dataFormat=MESSAGE"
/>
            <loadBalance>
                <failover>
                    <exception>java.lang.Exception</exception>
                    <exception>java.io.IOException</exception>
                </failover>
<!-- first webservice -->
                <to
                   
uri="cxf://http://localhost:8080/fooServer1-0.0.1a-SNAPSHOT/echo?wsdlURL=http://localhost:8080/fooServer1-0.0.1a-SNAPSHOT/echo&#63;wsdl&amp;serviceName={http://www.telecats.nl/nl.telecats.bvibluenode.adt.server-push.fooService}EchoService&amp;portName={http://www.telecats.nl/nl.telecats.bvibluenode.adt.server-push.fooService}EchoServiceImplPort&amp;dataFormat=MESSAGE"
/>
<!-- second webservice -->
                    <to
                   
uri="cxf://http://localhost:8080/fooServer1-0.0.1b-SNAPSHOT/echo?wsdlURL=http://localhost:8080/fooServer1-0.0.1b-SNAPSHOT/echo&#63;wsdl&amp;serviceName={http://www.telecats.nl/nl.telecats.bvibluenode.adt.server-push.fooService}EchoService&amp;portName={http://www.telecats.nl/nl.telecats.bvibluenode.adt.server-push.fooService}EchoServiceImplPort&amp;dataFormat=MESSAGE"
/>
            </loadBalance>
        </route>

pom.xml snapshot:
<dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-cxf</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http-jetty</artifactId>
            <version>2.2.6</version>
        </dependency>

Please help.

Raymond
-- 
View this message in context: http://old.nabble.com/Problem-with-CXF-Failover--%3E-Already-connected-error-tp27909261p27909261.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message