Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7260

CXF won't load ReceiveTimeout from conduit file

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: 3.1.7
    • Fix Version/s: 2.7.15
    • Component/s: Configuration
    • Labels:
      None
    • Environment:

      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>

        Attachments

          Activity

            People

            • Assignee:
              coheigea Colm O hEigeartaigh
              Reporter:
              martin.pelikan Martin Pelikan
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: