Camel CXF won't load ReceiveTimeout from conduit file

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Camel CXF won't load ReceiveTimeout from conduit file

martin.pelikan
This post was updated on .
Hello,

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>

Is it a bug or is this functionality removed?
Reply | Threaded
Open this post in threaded view
|

Re: Apache CXF won't load ReceiveTimeout from conduit file

Claus Ibsen-2
Hi

Ask the vendor of that product you use, eg Talend.

On Tue, Feb 21, 2017 at 11:11 AM, martin.pelikan
<[hidden email]> wrote:

> Hello,
>
> 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 CXF 2.13.
>
> Workaround:
> Usage of <http-conf:conduit><http-conf:client
> ReceiveTimeout="180000"/></http-conf:conduit>
>
> System:
> Talend ESB v 6.3.1
> Apache 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>
>
> Is it a bug or is this functionality removed?
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Apache-CXF-won-t-load-ReceiveTimeout-from-conduit-file-tp5794169.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2
Reply | Threaded
Open this post in threaded view
|

Re: Apache CXF won't load ReceiveTimeout from conduit file

martin.pelikan
Hi Claus,

I thought the issue concerns the Apache Camel CXF components as Blueprint leverages http://camel.apache.org/schema/blueprint/cxf and http://camel.apache.org/schema/blueprint.

Error I am getting is from DelayService (Blueprint Proxy implementing Camel CXF).

Could you elaborate more why is this issue of Talend please?

Martin
Reply | Threaded
Open this post in threaded view
|

Re: Apache CXF won't load ReceiveTimeout from conduit file

Sergey Beryozkin
Hi Martin

Looks like it is a CXF centric query, the configuration as set in the
container/etc/org.apache.cxf.http.conduits-common.cfg has no effect.

Can you please forward your query to the CXF users list first and then
we can take it from there

Cheers, Sergey
On 21/02/17 10:34, martin.pelikan wrote:

> Hi Claus,
>
> I thought the issue concerns the Apache Camel CXF components as Blueprint
> leverages http://camel.apache.org/schema/blueprint/cxf and
> http://camel.apache.org/schema/blueprint.
>
> Error I am getting is from DelayService (Blueprint Proxy implementing Camel
> CXF).
>
> Could you elaborate more why is this issue of Talend please?
>
> Martin
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-CXF-won-t-load-ReceiveTimeout-from-conduit-file-tp5794169p5794175.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: Apache CXF won't load ReceiveTimeout from conduit file

martin.pelikan
Hi,

I have opened a new bug in CXF Jira https://issues.apache.org/jira/browse/CXF-7260. You can watch the progress there.

Martin