Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
3.1.7
-
None
-
CentOS 6.8
Talend ESB 6.3.1
Karaf 4.0.7
Apache CXF 3.1.7
Camel Core 2.7.13
Description
Configuration ReceiveTimeout does not work via conduit file.
Scenario:
Published SOAP service DelayService with SSL on port 8443. This service calls another service SOAP Web service, where thread.sleep(70s) is implemented. DelayService is invoked via SOAPUI.
Expected result:
Successful response after 70s.
Real result:
Receive timeout exception after 60s. client.ReceiveTimeout configuration is not taken into account.
What works:
This scenario works fine with Talend ESB 5.6.2 and Apache Camel CXF 2.13.
Workaround:
Usage of <http-conf:conduit><http-conf:client ReceiveTimeout="180000"/></http-conf:conduit>
System:
Talend ESB v 6.3.1
Camel CXF 2.17.3
Conduit file container/etc/org.apache.cxf.http.conduits-common.cfg:
url = https://localhost.*
order = 1
tlsClientParameters.disableCNCheck = true
tlsClientParameters.trustManagers.keyStore.type = JKS
tlsClientParameters.trustManagers.keyStore.password = password
tlsClientParameters.trustManagers.keyStore.file = ./etc/keystores/keystore.jks
tlsClientParameters.keyManagers.keyStore.type = JKS
tlsClientParameters.keyManagers.keyStore.password = password
tlsClientParameters.keyManagers.keyStore.file = ./etc/keystores/keystore.jks
tlsClientParameters.keyManagers.keyPassword = password
tlsClientParameters.trustManagers.keyPassword = password
client.ReceiveTimeout = 180000
client.ConnectionTimeout = 180000
Blueprint:
<?xml version="1.0" encoding="utf-8"?>
<osgi:blueprint xmlns:camel="http://camel.apache.org/schema/blueprint" xmlns:osgi="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration">
<httpj:engine-factory bus="cxf">
<httpj:engine port="8443">
<httpj:tlsServerParameters>
<sec:keyManagers keyPassword="password">
<sec:keyStore type="JKS" password="password" file="etc/keystores/keystore.jks" />
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore type="JKS" password="password" file="etc/keystores/keystore.jks" />
</sec:trustManagers>
<sec:cipherSuitesFilter>
<sec:include>..</sec:include>
</sec:cipherSuitesFilter>
<sec:clientAuthentication want="false" required="false"/>
</httpj:tlsServerParameters>
</httpj:engine>
</httpj:engine-factory>
<camel:camelContext id="DelayService_Proxy">
<camel:propertyPlaceholder id="properties" location="blueprint:extProperties" />
<camel:route id="DelayService_8443">
<camel:from uri="DelayService_north" />
<camel:to uri="DelayService_DelayServiceBackend" />
</camel:route>
</camel:camelContext>
<cxf:cxfEndpoint id="DelayService_north" address="https://localhost:8443/DelayService" serviceName="tns:DelayService" endpointName="tns:DelayServicePort" wsdlURL="classpath:/DelayService.wsdl" xmlns:tns="http://www.talend.org/service/">
<cxf:properties>
<osgi:entry key="dataFormat" value="PAYLOAD" />
<osgi:entry key="continuationTimeout" value="150000"></osgi:entry>
</cxf:properties>
<cxf:outInterceptors />
<cxf:features>
<osgi:bean class="org.apache.cxf.feature.LoggingFeature" />
<policies xmlns="http://cxf.apache.org/policy" />
</cxf:features>
</cxf:cxfEndpoint>
<cxf:cxfEndpoint serviceName="tns:DelayService" endpointName="tns:DelayServicePort" wsdlURL="classpath:/DelayService.wsdl" id="DelayService_DelayServiceBackend" address="http://localhost:8080/DelayBackendService" xmlns:tns="http://www.talend.org/service/">
<cxf:properties>
<osgi:entry key="dataFormat" value="PAYLOAD" />
</cxf:properties>
<cxf:inInterceptors />
<cxf:features>
<policies xmlns="http://cxf.apache.org/policy" />
</cxf:features>
</cxf:cxfEndpoint>
</osgi:blueprint>