Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content
Announcements
Qlik Insider: Product Roadmap Edition on Feb 26, 1 PM ET: REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
ytuzet
Creator
Creator

Cxf producer :Can't find the BindingOperationInfo with operation name

Hi,
I'm exposing my route as a cxf webservice.
I'm trying to enrich the route message with a call to another cxf web service.
When I make a request on my route, I get this error :
org.apache.cxf.interceptor.Fault: Can't find the BindingOperationInfo with operation name {http://business}generate. Please check the message headers of operationName and operationNamespace.
Here is a picture of the route and the complete logs:

Démarrage du job TestPopulate a 09:45 23/07/2012.
AnnotationTypeConverterLoader INFO Found 3 packages with 15 @Converter classes to load
DefaultTypeConverter INFO Loaded 170 core type converters (total 170 type converters)
AnnotationTypeConverterLoader INFO Loaded 5 @Converter classes
DefaultTypeConverter INFO Loaded additional 23 type converters (total 193 type converters) in 0.053 seconds
MainSupport INFO Apache Camel 2.9.2 starting
ManagementStrate


To see the whole post, download it here
Labels (3)
12 Replies
ytuzet
Creator
Creator
Author

No http://business is for cxf_1...
I tried another approach and solve my problem but I don't know if it's a good practice.
I change my bean processor with a velocity template with complete soap request.
Then I plug it on jetty component that points to my webservice url.
It works but I'm forced to use resources that are not embedded in the route.
Does talend plan to add embedded resources files in deployment bundles?
Anonymous
Not applicable

Yes, Talend will support resource bundles in a more managed fashion in 5.2.
Glad you found a work-around, but I cannot say it is one I would suggest. You will need a genuine CXF client to do any kind of more complicated SOAP WS-* support, or to take advantage of service locator endpoint virtualization or service activity monitor logging framework. If you export items and post it your original route as a zip file I'll take a look.
ytuzet
Creator
Creator
Author

Cool for 5.2 features !
I tried once more with cxf client and did it working.
I used this time tSetHeader components to declare operationName and operationNamespace, I think i made mistakes in my bean processor.
I think the cxf producer populates these two headers and makes confusion for the cxf client.
Anyway I'm stuck this time at deployment to the container.
The route is working fine in the studio and in the container when I declare a full url as endpoint for my webservice.
But when I declare a relative endpoint "/Populate" so that I can request my webservice from anywhere on the network I get a "javax.xml.stream.XMLStreamException: No open start element, when trying to write end element"
Very frustrating...
Full log:
15:26:14,492 | WARN  | qtp1093240870-32 | ache.cxf.common.logging.LogUtils  405 |  -  -  | Interceptor for {http://business}PopulateService#{http://business}generate has thrown exception, unwinding now
java.lang.NullPointerException
at org.eclipse.jetty.io.BufferUtil.putHexInt(BufferUtil.java:149)
at org.eclipse.jetty.http.HttpGenerator.prepareBuffers(HttpGenerator.java:996)
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:826)
at org.eclipse.jetty.server.HttpConnection.flushResponse(HttpConnection.java:612)
at org.eclipse.jetty.server.HttpConnection$Output.close(HttpConnection.java:995)
at org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:683)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.AbstractHTTPDestination$BackChannelConduit.close(AbstractHTTPDestination.java:626)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:231)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:79)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:129)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:187)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:110)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:166)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handleAsync(Server.java:394)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:446)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:48)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
at java.lang.Thread.run(Thread.java:662)
15:26:14,493 | WARN | qtp1093240870-32 | ache.cxf.common.logging.LogUtils 405 | - - | Interceptor for {http://business}PopulateService#{http://business}generate has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: Error writing to XMLStreamWriter.
at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:288)
at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:270)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:322)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:231)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:79)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:129)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:187)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:110)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:166)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handleAsync(Server.java:394)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:446)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:48)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.xml.stream.XMLStreamException: No open start element, when trying to write end element
at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1524)
at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1553)
at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:648)
at com.ctc.wstx.sw.BaseNsStreamWriter.writeEndElement(BaseNsStreamWriter.java:280)
at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:279)