Please check your class path. After went through the stack trace, I
think there are more one version CXF in your class path.
BTW, did you try to use the latest released Camel 1.5 with CXF 2.1.3 ?
Willem
mta38 wrote:
> Hi Willem,
> Thanks for your answer.
> I am using camel 1.4.0 and cxf 2.1.2.
> When I try to invoke web service with a client proxy
>
> <code>
> JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
> factory.getInInterceptors().add(new LoggingInInterceptor());
> factory.getOutInterceptors().add(new LoggingOutInterceptor());
> factory.setServiceClass(Client.class);
> factory.setAddress(props.getProperty("http://localhost:8000/service/client"));
>
> Client proxy = (Client) factory.create();
> Proxy.soldeClient("1000");
> </code>
>
> I have the following error :
> Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError:
> org.apache.cxf.helpers.LoadingByteArrayOutputStream.getRawBytes()[B
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1852)
> at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
> at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:170)
> at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:593)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
> at $Proxy58.soldeClient(Unknown Source)
> at manager.SimuClient.sendRequest(SimuClient.java:75)
> at manager.Manager.simulateRequest(Manager.java:120)
> at gui.services.SimulateAction.actionPerformed(SimulateAction.java:30)
> at
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
> at
> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
> at
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
> at
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
> Best Regards,
> Mta38
>
>
>
> willem.jiang wrote:
>> Hi
>>
>> It's looks like a CXF HTTPConduit bug, which version of CXF and Camel
>> are you using?
>> Can you invoke the service with a normal CXF client ?
>>
>> Willem
>>
>> mta38 wrote:
>>> Hi all,
>>> I have some trouble with Camel rout to cxf endpoint.
>>> I have implemented a web service and publish it using cxf api. The
>>> following
>>> snipset is my code to start web service:
>>>
>>> JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
>>> sf.setServiceBean(new ClientFixeImpl());
>>> address = props.getProperty("http://localhost:8000/service/client");
>>> sf.setAddress(address);
>>> service = sf.create();
>>>
>>> The service is published; I can invoke it in an internet Browser. But
>>> when I
>>> try to send a message to that web service using a camel route :
>>>
>>> <camel:camelContext id="camelContext">
>>> <camel:route>
>>> <camel:from uri="direct:start"/>
>>> <camel:to uri="cxf:bean:endpointFixeProvider"/>
>>> </camel:route>
>>> </camel:camelContext>
>>>
>>> Where " endpointFixeProvider" is defined like that :
>>>
>>>
>>> <cxf:cxfEndpoint id="endpointFixeProvider"
>>> serviceClass="org.example.clientfixe.ClientFixe"
>>> address="http://localhost:8001/ClientFixeSOAP"
>>> wsdlURL="wsdl/ClientFixe-1.0.wsdl"
>>> endpointName="s:ClientFixeSOAP"
>>> serviceName="s:ClientFixe"
>>> xmlns:s="http://www.example.org/ClientFixe/">
>>> <cxf:properties>
>>> <entry key="dataFormat" value="MESSAGE"></entry>
>>> </cxf:properties>
>>>
>>> </cxf:cxfEndpoint>
>>>
>>>
>>> I have the following error:
>>> INFO: Interceptor has thrown exception, unwinding now
>>> java.lang.IllegalStateException: Already connected
>>> at
>>> java.net.HttpURLConnection.setFixedLengthStreamingMode(HttpURLConnection.java:100)
>>> at
>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.thresholdNotReached(HTTPConduit.java:1774)
>>> at
>>> org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutputStream.java:99)
>>> at
>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1859)
>>> at
>>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>>> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:593)
>>> at
>>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>>> at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>>> at
>>> org.apache.camel.component.cxf.invoker.CxfClient.invokeWithMessageStream(CxfClient.java:132)
>>> at
>>> org.apache.camel.component.cxf.invoker.CxfClient.dispatch(CxfClient.java:75)
>>> at
>>> org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:251)
>>> at
>>> org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:176)
>>> at
>>> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
>>> at
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
>>> at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
>>> at
>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
>>> at
>>> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
>>> at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
>>> at
>>> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
>>> at
>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>>> at
>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>>> at
>>> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:47)
>>> at
>>> org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:149)
>>> at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:86)
>>> at
>>> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:84)
>>> at
>>> org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:143)
>>> at
>>> org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:139)
>>> at
>>> adapter.camel.CamelServiceAdapter.sendSync(CamelServiceAdapter.java:147)
>>> at org.example.client.ClientImpl.soldeClient(ClientImpl.java:91)
>>>
>>>
>>> Is someone have an idea? :confused:
>>> Thanks in Advance,
>>> Mta38
>>>
>>
>>
>