Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
During desing and running soap service I got an error message from this job running:
sty 30, 2019 1:42:27 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Application {http://www.talend.org/service/}ReportsService#{http://www.talend.org/service/}ProcessReport has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: no response provided by Talend job
at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162)
at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:267)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128)
at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)
at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:76)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1088)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1024)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
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:667)
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(Unknown Source)
Caused by: java.lang.RuntimeException: no response provided by Talend job
at reports.reportsserviceporttype_reportsserviceoperation_0_1.ReportsServicePortType_ReportsServiceOperation$ESBProvider_tESBProviderRequest_1.invoke(ReportsServicePortType_ReportsServiceOperation.java:772)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
at org.apache.cxf.jaxws.JAXWSMethodInvoker.performInvocation(JAXWSMethodInvoker.java:66)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
... 31 more
I use Talend Open Studio for ESB.
I cannot modify source code in Java, only display it. But after digging in it, I found these code snippet:
if (messageExchange.isFault()) {
throw messageExchange.getFault();
} else {
org.dom4j.Document responseDoc = messageExchange
.getResponse();
if (null == responseDoc) {
throw new RuntimeException(
"no response provided by Talend job");
This is the message I finally got.
But why? Any ideas?
Regards,
Pawel
Hi @Pawel,
What version are you using? The values you pointed out are configurable in v7.1 via the tESBProviderRequest component (https://help.talend.com/reader/6pO1HSkFat02LpDF_xCmsg/XXo1~pvJC7rmkmJ0J_E0fg). I only have v7.1 on my machine at the moment, but I believe this is new functionality
Regards
Richard
Can you take a screenshot of the job please? We may also need a screenshot of the web service component's config as well. Thanks
I cannot paste the whole job, because of my present company's restrictions, sorry.
The real job consists from many sub-jobs and it processes few kind of reports files (i.e. *.csv, *.xlsx or *.txt), send them to external web services via tSoap component, and saves the files' data to the database. Everything works fine - tSoap sends whole data whitout any lacks and whole data are saved to database.
And my web service returns designed response.
But in case of BIG FILES, with large amount of data, this exception posted above occurs. Btw. everything still works fine (send via soap, save to db), but it seems that tESBProviderResponse cannot wait so long.
I created a simplified version about what is doing here:
In the JavaRow component I got a following code:
//Code generated according to input schema and output schema Thread.sleep(120000); output_row.payload = input_row.payload;
And this sleep is for simulating the amount of time, which is needed to process the real job.
Please help.
Regards,
Pawel
And also looking into the code (which I cannot modify - what a pity) I have found this code snippet:
/**
* message exchange controller
*/
public class QueuedMessageHandlerImpl<IN, OUT> implements
ESBProviderCallback {
private final int MAX_QUEUE_SIZE = 1000;
private final int WAIT_TIMEOUT_SECONDS = 120;
private final java.util.concurrent.BlockingQueue<QueuedExchangeContextImpl<IN, OUT>> queue = new java.util.concurrent.LinkedBlockingQueue<QueuedExchangeContextImpl<IN, OUT>>(
MAX_QUEUE_SIZE);
I believe this runtime exception is from time exceeding, which is defined above.
How can I change it?
Regards,
Pawel
Hi @Pawel,
What version are you using? The values you pointed out are configurable in v7.1 via the tESBProviderRequest component (https://help.talend.com/reader/6pO1HSkFat02LpDF_xCmsg/XXo1~pvJC7rmkmJ0J_E0fg). I only have v7.1 on my machine at the moment, but I believe this is new functionality
Regards
Richard
I am using Talend Open Studio for ESB version 6.5.1
Can you try upgrading to 7.1?
Is it safe? I mean will my jobs still be working?
I have tried, and these parameters are in tESBProviderRequest component. So I changed them and it worked.
Now I hope the business decision will approve this upgrade.