One Star

Exception while calling a simple Web Service

Hi all,
I have just deployed my first simple Web service into the TESB SE runtime container (.kar) and was able to see it in the console (LIST command) as well as see it in the /service list.
But when I fired my first SOAP request into it, I got an exception:
17:01:46,911 | WARN  | qtp402086336-59  | ache.cxf.common.logging.LogUtils  452 | 120 - org.apache.cxf.cxf-api - 2.7.11 | Application {http://ribs.telekom.de/ikf/2014/2/service/lesenVertragsdaten}lesenVertragsdatenService#{http://ribs.telekom.de/ikf/2014/2/service/lesenVertragsdaten}lesenVertragsdaten has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Talend job execution error:
    at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:170)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:272)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:136)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:237)
    at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:69)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:241)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
    at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:447)
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:124)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:81)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:363)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:931)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:992)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Talend job execution error:
    at ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten$ESBProviderCallbackTalendJobWrapper_tESBProviderRequest_1.sendFault(lesenVertragsdaten_lesenVertragsdaten.java:1256)
    at ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten$ESBProviderCallbackTalendJobWrapper_tESBProviderRequest_1.sendFaultByDefault(lesenVertragsdaten_lesenVertragsdaten.java:1265)
    at ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten.tESBProviderRequest_1_LoopProcess(lesenVertragsdaten_lesenVertragsdaten.java:19422)
    at ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten.runJobInTOS(lesenVertragsdaten_lesenVertragsdaten.java:19960)
    at org.talend.esb.job.controller.internal.RuntimeESBProviderCallback.run(RuntimeESBProviderCallback.java:120)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    ... 1 more
Caused by: ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten$TalendException
    at ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten.tOracleInput_2Process(lesenVertragsdaten_lesenVertragsdaten.java:5835)
    at ggug_interims_solution.lesenvertragsdaten_lesenvertragsdaten_0_1.lesenVertragsdaten_lesenVertragsdaten.tESBProviderRequest_1_LoopProcess(lesenVertragsdaten_lesenVertragsdaten.java:18447)
    ... 5 more

Any idea what happened?
Thanks
Matt
5 REPLIES
Moderator

Re: Exception while calling a simple Web Service

Hi Matt,
What's the component you used in your webservice? Could you share your workflow with us? Did your service work well within Talend ESB studio?
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: Exception while calling a simple Web Service

Hi Sabrina,
please see the attached screenshot for a list of used components.

It is a very simple synchronous SOAP Web Service which works perfectly in our TOS ESB 5.4.1.
We then exported it as .kar file and tossed the .kar into the /deploy folder of a fresh TESB SE 5.4.2 installation on RHEL 6.1. with Java 1.7.65.
We performed no configuration of the container (just unpacked the tar.gz we downloaded from Talend.com) and used the START command to run the container in the background.
When calling the /services URL in a browser, our Service was displayed. Clicking on the WSDL link provided us with the WSDL - so it appeared to us as if things worked fine.
But when we tried to throw a SOAP request at the service, we received the exception.
Any ideas?
And how do we change the context? Our default context refers to our test environment (which we used yesterday and which I described above). But when we roll that service out to a Pilot environment, we need to change the context. But how? The admin manual does not say that.
Thanks
Matt
One Star

Re: Exception while calling a simple Web Service

Little update: I noticed that if I send a request message that does NOT invoke the path with DB access, the service works and returns the expected result. The exception is fired, however, whenever DB access is triggered.
Note: we have not installed any external libs in our container. Just exported the service as .kar and threw it into a fresh TESB SE installation (standard config, no changes from our side).
One Star

Re: Exception while calling a simple Web Service

Did you also check wrapper.log? Sometimes there is messages in it that are very useful.
Six Stars

Re: Exception while calling a simple Web Service

Hi,
Try to Copy ojdbc6.jar to\Talend\Runtime_ESBSE\container\lib\ext
https://www.talendforge.org/forum/viewtopic.php?id=40748
https://jira.talendforge.org/browse/TESB-14841
Hope that help