camel-cxf proxy failed wsdl reading with local schemaLocations

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

camel-cxf proxy failed wsdl reading with local schemaLocations

Michael Täschner
Hi Camel-Riders,

we are (still) using SMX4.5 (Camel 2.10.7) and are trying to proxy a
SOAP call to external URL (plus reading statistics from input
message). For offline testing we have created a SoapUI mock target and
we declare schemaLocations inside the cxfEndpoint. Unfortunately the
schemata are not read at time of cxfEndpoint consumer creation:

15:36:40,366 WARN  [ReflectionServiceFactoryBean] Failed to parse WSDL
javax.wsdl.WSDLException: WSDLException (at
/wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR:
Problem parsing
'https://newskies-test.someairline.com/SessionManager.svc?xsd=xsd1'.:
java.net.UnknownHostException: newskies-test.someairline.com
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:830)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:654)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:610)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:320)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:245)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:190)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isEmptywsdl(ReflectionServiceFactoryBean.java:2598)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isFromWsdl(ReflectionServiceFactoryBean.java:543)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:547)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:240)
at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:204)

We have dowloaded all corresponding schemata (e.g.
"https://newskies-test.someairline.com/SessionManager.svc?xsd=xsd1")
and referenced them via the schemaLocation config.

Following the endpoint and camelContext:

Endpoint definition:
<!-- this is the CXF web service we use as the front end -->
<cxf:cxfEndpoint id="frontendSessionManager"
    address="http://0.0.0.0:8090/SessionManager.svc"
    wsdlURL="etc/SessionManager/SessionManager.wsdl"
     >

    <!-- WSDL: wsdlURL="etc/SessionManager/SessionManager.wsdl"
wsdlURL="http://localhost:8088/SessionManager.svc?wsdl -->
<cxf:inInterceptors>
<ref bean="loggingInInterceptor" />
</cxf:inInterceptors>
<cxf:outInterceptors>
<ref bean="loggingOutInterceptor" />
<ref bean="sAAJOutInterceptor" />
<!-- ref bean="isb4uStatisticCalculatorInterceptor"/ -->
</cxf:outInterceptors>
<cxf:inFaultInterceptors>
<ref bean="loggingInInterceptor" />
</cxf:inFaultInterceptors>
<cxf:outFaultInterceptors>
<ref bean="loggingOutInterceptor" />
</cxf:outFaultInterceptors>

    <cxf:schemaLocations>
      <!--
      <cxf:schemaLocation>http://localhost:8088/SessionManager.svc?WSDL&amp;interface=BasicHttpBinding_ISessionManager&amp;part=SessionManager.xsd</cxf:schemaLocation>
       -->
      <cxf:schemaLocation>classpath:etc/SessionManager/xsd0-serviceContracts-sessionService.xsd</cxf:schemaLocation>
      <cxf:schemaLocation>classpath:etc/SessionManager/xsd1-serialization.xsd</cxf:schemaLocation>
      <cxf:schemaLocation>classpath:etc/SessionManager/xsd2-dataContracts-sessionService.xsd</cxf:schemaLocation>
      <cxf:schemaLocation>classpath:etc/SessionManager/xsd3-webservices.xsd</cxf:schemaLocation>
      <cxf:schemaLocation>classpath:etc/SessionManager/xsd4-webservices-dataContracts-common-enumerations.xsd</cxf:schemaLocation>
    </cxf:schemaLocations>

<cxf:properties>
<!-- Set the publishedEndpointUrl which could override the service
address from generated WSDL as you want -->
<!--
<entry key="publishedEndpointUrl" value="http://localhost:8090" />
-->
<entry key="synchronous" value="true" />
<!-- enable logging in cxf message mode -->
<entry key="dataFormat" value="MESSAGE" />
      <entry key="schema-validation-enabled" value="false" />
    </cxf:properties>
</cxf:cxfEndpoint>

CamelContext:
<!-- this is the Camel route which proxies the real web service and
forwards SOAP requests to it -->
<camel:camelContext id="context" streamCache="true" >
<!-- disable stream caching spool to disk -->
<camel:properties>
<camel:property key="CamelCachedOutputStreamThreshold" value="-1" />
</camel:properties>
<camel:endpoint id="backendSessionManager"
uri="http://localhost:8088/SessionManager.svc?httpClient.soTimeout=5000&amp;throwExceptionOnFailure=false"
/>

<camel:route id="SessionManager" >
<!-- CXF consumer using MESSAGE format -->
<camel:from uri="cxf:bean:frontendSessionManager?dataFormat=MESSAGE" />
<camel:doTry>
<!-- send proxied request to real web service -->
<camel:to ref="backendSessionManager" />
</camel:doTry>
</camel:route>
</camel:camelContext>

There may be more errors in the definition but the failure to create
the cxfEndpoint consumer due to trying to look-up the schemata from
remote host instead of using the local copies is blocking our
progress.

The Root cause we tracked so far seems to be in
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL[1].
whereby the serviceFactory is created up front but schemaLocations are
only read at the end via "initializeDataBindings".

Any idea how to resolve this (i.e. get the cxfEndpoint consumer
started with local schemata) would be welcome!
Regards,
Michael

[1] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-bundle/2.7.7/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java#407
Reply | Threaded
Open this post in threaded view
|

Re: camel-cxf proxy failed wsdl reading with local schemaLocations

Michael Täschner
Hi,

could anybody give me a hint with this issue (using schemalocations
with cxf:Endpoint) ?

Thanks and Regards,
Michael

2014-06-23 16:20 GMT+02:00 Michael Täschner <[hidden email]>:

> Hi Camel-Riders,
>
> we are (still) using SMX4.5 (Camel 2.10.7) and are trying to proxy a
> SOAP call to external URL (plus reading statistics from input
> message). For offline testing we have created a SoapUI mock target and
> we declare schemaLocations inside the cxfEndpoint. Unfortunately the
> schemata are not read at time of cxfEndpoint consumer creation:
>
> 15:36:40,366 WARN  [ReflectionServiceFactoryBean] Failed to parse WSDL
> javax.wsdl.WSDLException: WSDLException (at
> /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR:
> Problem parsing
> 'https://newskies-test.someairline.com/SessionManager.svc?xsd=xsd1'.:
> java.net.UnknownHostException: newskies-test.someairline.com
> at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198)
> at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:830)
> at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:654)
> at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:610)
> at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:320)
> at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
> at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338)
> at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:245)
> at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:190)
> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isEmptywsdl(ReflectionServiceFactoryBean.java:2598)
> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isFromWsdl(ReflectionServiceFactoryBean.java:543)
> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:547)
> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)
> at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
> at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
> at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:240)
> at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:204)
>
> We have dowloaded all corresponding schemata (e.g.
> "https://newskies-test.someairline.com/SessionManager.svc?xsd=xsd1")
> and referenced them via the schemaLocation config.
>
> Following the endpoint and camelContext:
>
> Endpoint definition:
> <!-- this is the CXF web service we use as the front end -->
> <cxf:cxfEndpoint id="frontendSessionManager"
>     address="http://0.0.0.0:8090/SessionManager.svc"
>     wsdlURL="etc/SessionManager/SessionManager.wsdl"
>      >
>
>     <!-- WSDL: wsdlURL="etc/SessionManager/SessionManager.wsdl"
> wsdlURL="http://localhost:8088/SessionManager.svc?wsdl -->
> <cxf:inInterceptors>
> <ref bean="loggingInInterceptor" />
> </cxf:inInterceptors>
> <cxf:outInterceptors>
> <ref bean="loggingOutInterceptor" />
> <ref bean="sAAJOutInterceptor" />
> <!-- ref bean="isb4uStatisticCalculatorInterceptor"/ -->
> </cxf:outInterceptors>
> <cxf:inFaultInterceptors>
> <ref bean="loggingInInterceptor" />
> </cxf:inFaultInterceptors>
> <cxf:outFaultInterceptors>
> <ref bean="loggingOutInterceptor" />
> </cxf:outFaultInterceptors>
>
>     <cxf:schemaLocations>
>       <!--
>       <cxf:schemaLocation>http://localhost:8088/SessionManager.svc?WSDL&amp;interface=BasicHttpBinding_ISessionManager&amp;part=SessionManager.xsd</cxf:schemaLocation>
>        -->
>       <cxf:schemaLocation>classpath:etc/SessionManager/xsd0-serviceContracts-sessionService.xsd</cxf:schemaLocation>
>       <cxf:schemaLocation>classpath:etc/SessionManager/xsd1-serialization.xsd</cxf:schemaLocation>
>       <cxf:schemaLocation>classpath:etc/SessionManager/xsd2-dataContracts-sessionService.xsd</cxf:schemaLocation>
>       <cxf:schemaLocation>classpath:etc/SessionManager/xsd3-webservices.xsd</cxf:schemaLocation>
>       <cxf:schemaLocation>classpath:etc/SessionManager/xsd4-webservices-dataContracts-common-enumerations.xsd</cxf:schemaLocation>
>     </cxf:schemaLocations>
>
> <cxf:properties>
> <!-- Set the publishedEndpointUrl which could override the service
> address from generated WSDL as you want -->
> <!--
> <entry key="publishedEndpointUrl" value="http://localhost:8090" />
> -->
> <entry key="synchronous" value="true" />
> <!-- enable logging in cxf message mode -->
> <entry key="dataFormat" value="MESSAGE" />
>       <entry key="schema-validation-enabled" value="false" />
>     </cxf:properties>
> </cxf:cxfEndpoint>
>
> CamelContext:
> <!-- this is the Camel route which proxies the real web service and
> forwards SOAP requests to it -->
> <camel:camelContext id="context" streamCache="true" >
> <!-- disable stream caching spool to disk -->
> <camel:properties>
> <camel:property key="CamelCachedOutputStreamThreshold" value="-1" />
> </camel:properties>
> <camel:endpoint id="backendSessionManager"
> uri="http://localhost:8088/SessionManager.svc?httpClient.soTimeout=5000&amp;throwExceptionOnFailure=false"
> />
>
> <camel:route id="SessionManager" >
> <!-- CXF consumer using MESSAGE format -->
> <camel:from uri="cxf:bean:frontendSessionManager?dataFormat=MESSAGE" />
> <camel:doTry>
> <!-- send proxied request to real web service -->
> <camel:to ref="backendSessionManager" />
> </camel:doTry>
> </camel:route>
> </camel:camelContext>
>
> There may be more errors in the definition but the failure to create
> the cxfEndpoint consumer due to trying to look-up the schemata from
> remote host instead of using the local copies is blocking our
> progress.
>
> The Root cause we tracked so far seems to be in
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL[1].
> whereby the serviceFactory is created up front but schemaLocations are
> only read at the end via "initializeDataBindings".
>
> Any idea how to resolve this (i.e. get the cxfEndpoint consumer
> started with local schemata) would be welcome!
> Regards,
> Michael
>
> [1] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-bundle/2.7.7/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java#407
Reply | Threaded
Open this post in threaded view
|

Re: camel-cxf proxy failed wsdl reading with local schemaLocations

Michael Täschner
Hi CXF Users, Camel Riders,

concerning this reply:
>>Hi,

>>I think you need use something like catalog.xml to redirect the remove schema url to the local one you cached.
>>-------------
>>Freeman(Yue) Fang

I have created a jax-ws-catalog.xml in /META-INF but it is not being
used. As we do not generated code via wsdl2java but only want to use
the cxf:Endpoint as a proxy, how can I tell Camel/CXF to pick up the
schemata locally (via jax-ws-catalog.xml)?

Sorry to bother but this is really blocking our progress.

Thanks and Regards,
Michael

2014-07-07 14:02 GMT+02:00 Michael Täschner <[hidden email]>:

> Hi Again,
>
> concerning the usage of catalog.xml in combination with cxf-Endpoint
> for a webservice-proxy. Can anyone provide an example how to configure
> the catalog.xml for the cxf Endpoint ? How does that correlate with
> the "schemaLocations" that can be configured ?
>
> Thanks and Regards,
> Michael
>
> 2014-06-30 12:15 GMT+02:00 Michael Täschner <[hidden email]>:
>> Hi Freeman,
>>
>> do you have an example for referencing the catalog.xml via spring (or
>> blueprint) and how to map the namespaces to the local schema files ?
>> Is it used in combinations with the schemalocations property or
>> different approach ?
>>
>> Thanks and Regards,
>> Michael
>>
>> 2014-06-30 11:42 GMT+02:00 Freeman Fang <[hidden email]>:
>>> Hi,
>>>
>>> I think you need use something like catalog.xml to redirect the remove schema url to the local one you cached.
>>> -------------
>>> Freeman(Yue) Fang
>>>
>>> Red Hat, Inc.
>>> FuseSource is now part of Red Hat
>>>
>>>
>>>
>>> On 2014-6-30, at 下午5:23, Michael Täschner wrote:
>>>
>>>> Dear CXF-Users,
>>>>
>>>> I posted following questions at the camel users forum but got no
>>>> reply. Could anyone here help me with configuring the schemalocations
>>>> for a cxf proxy used via camel route (see below).
>>>>
>>>> Thanks and Best Regards,
>>>> Michael
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Michael Täschner <[hidden email]>
>>>> Date: 2014-06-27 14:35 GMT+02:00
>>>> Subject: Re: camel-cxf proxy failed wsdl reading with local schemaLocations
>>>> To: [hidden email]
>>>>
>>>>
>>>> Hi,
>>>>
>>>> could anybody give me a hint with this issue (using schemalocations
>>>> with cxf:Endpoint) ?
>>>>
>>>> Thanks and Regards,
>>>> Michael
>>>>
>>>> 2014-06-23 16:20 GMT+02:00 Michael Täschner <[hidden email]>:
>>>>> Hi Camel-Riders,
>>>>>
>>>>> we are (still) using SMX4.5 (Camel 2.10.7) and are trying to proxy a
>>>>> SOAP call to external URL (plus reading statistics from input
>>>>> message). For offline testing we have created a SoapUI mock target and
>>>>> we declare schemaLocations inside the cxfEndpoint. Unfortunately the
>>>>> schemata are not read at time of cxfEndpoint consumer creation:
>>>>>
>>>>> 15:36:40,366 WARN  [ReflectionServiceFactoryBean] Failed to parse WSDL
>>>>> javax.wsdl.WSDLException: WSDLException (at
>>>>> /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR:
>>>>> Problem parsing
>>>>> 'https://newskies-test.someairline.com/SessionManager.svc?xsd=xsd1'.:
>>>>> java.net.UnknownHostException: newskies-test.someairline.com
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198)
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:830)
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:654)
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:610)
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:320)
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
>>>>> at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338)
>>>>> at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:245)
>>>>> at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:190)
>>>>> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isEmptywsdl(ReflectionServiceFactoryBean.java:2598)
>>>>> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isFromWsdl(ReflectionServiceFactoryBean.java:543)
>>>>> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:547)
>>>>> at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)
>>>>> at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
>>>>> at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
>>>>> at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:240)
>>>>> at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:204)
>>>>>
>>>>> We have dowloaded all corresponding schemata (e.g.
>>>>> "https://newskies-test.someairline.com/SessionManager.svc?xsd=xsd1")
>>>>> and referenced them via the schemaLocation config.
>>>>>
>>>>> Following the endpoint and camelContext:
>>>>>
>>>>> Endpoint definition:
>>>>> <!-- this is the CXF web service we use as the front end -->
>>>>> <cxf:cxfEndpoint id="frontendSessionManager"
>>>>>    address="http://0.0.0.0:8090/SessionManager.svc"
>>>>>    wsdlURL="etc/SessionManager/SessionManager.wsdl"
>>>>>>
>>>>>
>>>>>    <!-- WSDL: wsdlURL="etc/SessionManager/SessionManager.wsdl"
>>>>> wsdlURL="http://localhost:8088/SessionManager.svc?wsdl -->
>>>>> <cxf:inInterceptors>
>>>>> <ref bean="loggingInInterceptor" />
>>>>> </cxf:inInterceptors>
>>>>> <cxf:outInterceptors>
>>>>> <ref bean="loggingOutInterceptor" />
>>>>> <ref bean="sAAJOutInterceptor" />
>>>>> <!-- ref bean="isb4uStatisticCalculatorInterceptor"/ -->
>>>>> </cxf:outInterceptors>
>>>>> <cxf:inFaultInterceptors>
>>>>> <ref bean="loggingInInterceptor" />
>>>>> </cxf:inFaultInterceptors>
>>>>> <cxf:outFaultInterceptors>
>>>>> <ref bean="loggingOutInterceptor" />
>>>>> </cxf:outFaultInterceptors>
>>>>>
>>>>>    <cxf:schemaLocations>
>>>>>      <!--
>>>>>      <cxf:schemaLocation>http://localhost:8088/SessionManager.svc?WSDL&amp;interface=BasicHttpBinding_ISessionManager&amp;part=SessionManager.xsd</cxf:schemaLocation>
>>>>>       -->
>>>>>      <cxf:schemaLocation>classpath:etc/SessionManager/xsd0-serviceContracts-sessionService.xsd</cxf:schemaLocation>
>>>>>      <cxf:schemaLocation>classpath:etc/SessionManager/xsd1-serialization.xsd</cxf:schemaLocation>
>>>>>      <cxf:schemaLocation>classpath:etc/SessionManager/xsd2-dataContracts-sessionService.xsd</cxf:schemaLocation>
>>>>>      <cxf:schemaLocation>classpath:etc/SessionManager/xsd3-webservices.xsd</cxf:schemaLocation>
>>>>>      <cxf:schemaLocation>classpath:etc/SessionManager/xsd4-webservices-dataContracts-common-enumerations.xsd</cxf:schemaLocation>
>>>>>    </cxf:schemaLocations>
>>>>>
>>>>> <cxf:properties>
>>>>> <!-- Set the publishedEndpointUrl which could override the service
>>>>> address from generated WSDL as you want -->
>>>>> <!--
>>>>> <entry key="publishedEndpointUrl" value="http://localhost:8090" />
>>>>> -->
>>>>> <entry key="synchronous" value="true" />
>>>>> <!-- enable logging in cxf message mode -->
>>>>> <entry key="dataFormat" value="MESSAGE" />
>>>>>      <entry key="schema-validation-enabled" value="false" />
>>>>>    </cxf:properties>
>>>>> </cxf:cxfEndpoint>
>>>>>
>>>>> CamelContext:
>>>>> <!-- this is the Camel route which proxies the real web service and
>>>>> forwards SOAP requests to it -->
>>>>> <camel:camelContext id="context" streamCache="true" >
>>>>> <!-- disable stream caching spool to disk -->
>>>>> <camel:properties>
>>>>> <camel:property key="CamelCachedOutputStreamThreshold" value="-1" />
>>>>> </camel:properties>
>>>>> <camel:endpoint id="backendSessionManager"
>>>>> uri="http://localhost:8088/SessionManager.svc?httpClient.soTimeout=5000&amp;throwExceptionOnFailure=false"
>>>>> />
>>>>>
>>>>> <camel:route id="SessionManager" >
>>>>> <!-- CXF consumer using MESSAGE format -->
>>>>> <camel:from uri="cxf:bean:frontendSessionManager?dataFormat=MESSAGE" />
>>>>> <camel:doTry>
>>>>> <!-- send proxied request to real web service -->
>>>>> <camel:to ref="backendSessionManager" />
>>>>> </camel:doTry>
>>>>> </camel:route>
>>>>> </camel:camelContext>
>>>>>
>>>>> There may be more errors in the definition but the failure to create
>>>>> the cxfEndpoint consumer due to trying to look-up the schemata from
>>>>> remote host instead of using the local copies is blocking our
>>>>> progress.
>>>>>
>>>>> The Root cause we tracked so far seems to be in
>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL[1].
>>>>> whereby the serviceFactory is created up front but schemaLocations are
>>>>> only read at the end via "initializeDataBindings".
>>>>>
>>>>> Any idea how to resolve this (i.e. get the cxfEndpoint consumer
>>>>> started with local schemata) would be welcome!
>>>>> Regards,
>>>>> Michael
>>>>>
>>>>> [1] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-bundle/2.7.7/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java#407
>>>