One Star

tWebServiceInput connection timeout

I have created a very simple job that queries my product's web service (tWebServiceInput) and sends it log (tLogRow). I am using the WSDL2Java feature as my web service returns a complex type. I specify the WSDL using an IP address, e.g. http://192.168.111.x/services/whatever?wsdl.
I can run this job without issue when Talend and the web service run on the same subnet. However, when my web service is running on a separate subnet, Talend always reports a connection timeout on the web service call. It makes no difference on what I set the web service stub timeout to, the connection timeout always happens after roughly 20 secs.
To eliminate any potential network issues, I used soapUI (web service testing tool) to call my web service when it was running on a different subnet. It worked perfectly. There are no proxies in play.
It appears Talend has a subtle bug here.
I am using Open Studio 4.0.2.
The java exception throw is:
Exception in component tWebServiceInput_1
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.ConnectException: Connection timed out: connect
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
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.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at routines.ValogixDataExportSoap11BindingStub.itemStockingQuantityByLocation(ValogixDataExportSoap11BindingStub.java:211)
at v8_export.v8sq_0_1.V8SQ.tWebServiceInput_1Process(V8SQ.java:477)
at v8_export.v8sq_0_1.V8SQ.runJobInTOS(V8SQ.java:798)
at v8_export.v8sq_0_1.V8SQ.main(V8SQ.java:672)