Hello,

Thanks again for one more answer. Unfortunately I am still getting the
error at 60 seconds. I can post the fault later (not at the office
right now), althouth the SOAPFault generated has "Read Timeout Error"
as FaultDetail.

First: The provider endpoint configuration does not have timeout
property. Is this correct? I think this may be the problem.

Second:

The target application is running CXF and I have already configured
the conduit there, it just never ocurred to me to also do it in the
binding component. Anyway it's configured now.

My new xbean.xml looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0";
        xmlns:sso="http://br.com.domain/sso";
        xmlns:http-conf="http://cxf.apache.org/transports/http/configuration";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://servicemix.apache.org/cxfbc/1.0
http://servicemix.apache.org/schema/servicemix-cxfbc-2010.01.xsd
       http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd";>


        <http-conf:conduit name="*.http-conduit">
                <http-conf:client Connection="Keep-Alive"
AllowChunking="false"   ReceiveTimeout="90000" ConnectionTimeout="90000"
/>
        </http-conf:conduit>

        <cxfbc:consumer wsdl="classpath:SingleSignOnService.wsdl"
                
locationURI="http://0.0.0.0:8092/sso/services/SingleSignOnService";
                targetService="sso:SingleSignOnService"
                targetInterface="sso:SingleSignOnService"
                timeout="90"
                endpoint="SingleSignOnExternalEndpoint" />

    <cxfbc:provider wsdl="classpath:SingleSignOnService.wsdl"
        locationURI="http://localhost:8080/sso/services/SingleSignOnService";
        interfaceName="sso:SingleSignOnService"
        service="sso:SingleSignOnService"
        endpoint="SingleSignOnInternalEndpoint" />

</beans>

Thanks again,

Felipe Fraga


On Mon, Nov 1, 2010 at 11:15 PM, Freeman Fang <[email protected]> wrote:
> Hi,
>
> Could you post the fault you get?
>
> If the timeout occur between cxfbc:provider and external server, you need
> set timeout for cxfbc:provider also.
> As cxfbc:provider play the role as a client, so you need set timeout for the
> underlying transport(depend on you're using http or jms transport) client
> (we call it conduit for transport client in cxf),
>
> [1] is the link how to set it for http transport
> [2] is the link how to set it for jms transport
>
> Actually we have a testcase to demonstrate how to specify underlying
> transport timeout for cxfbc provider, [3] and [4] are related
> configurations.
> [1]http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html
> [2]http://cxf.apache.org/docs/jms-transport.html
> [3]https://svn.apache.org/repos/asf/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/jms_transport.xml
> [4]https://svn.apache.org/repos/asf/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/jms_test_timeout.xml
>
> Hope all these helps.
>
> Freeman
>
> On 2010-11-1, at 下午11:46, Felipe Fraga wrote:
>
>> Hello,
>>
>> I am using Fuse 4.2.0, so servicemix 4.2.0, although I have already
>> tried with the 4.3.0.
>>
>> I am experiencing what seems to me a timeout problem. At exactly 60
>> seconds, the client talking to the bus get a Fault, but the targeted
>> application is still processing.
>>
>> If I bypass the bus, everything works fine.
>>
>> I am using CXF Binding Component. Both consumer and provider. They are
>> both defined in the same service unit as follow:
>>
>> <cxfbc:consumer wsdl="classpath:ElementService.wsdl" timeout="12000"
>> locationURI="http://0.0.0.0:8092/san-n1/services/ElementService";
>> targetService="sann1:ElementService"
>> targetInterface="sann1:ElementService"
>> endpoint="SANN1ElementServiceExternalEndpoint" />
>>
>> <cxfbc:provider wsdl="classpath:ElementService.wsdl"
>> locationURI="http://localhost:8080/san-n1/services/ElementService";
>> interfaceName="sann1:ElementService" service="sann1:ElementService"
>> endpoint="SANN1ElementServiceInternalEndpoint" />
>>
>> As you can see I have set the timeout property to the consumer but I
>> still get the fault. Are there any other timeouts? NMR maybe? Does the
>> timeout property work? Am I missing something?
>>
>> Google didn't point me to the solution unfortunately.
>>
>> Thanks in advance.
>>
>> Felipe Fraga
>
>
> --
> Freeman Fang
>
> ------------------------
>
> FuseSource: http://fusesource.com
> blog: http://freemanfang.blogspot.com
> twitter: http://twitter.com/freemanfang
> Apache Servicemix:http://servicemix.apache.org
> Apache Cxf: http://cxf.apache.org
> Apache Karaf: http://karaf.apache.org
> Apache Felix: http://felix.apache.org
>
>

Reply via email to