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 >>> >> >> >