We got a WSDL from a 3rd party company. It had a hard-coded IP in it:
<wsdl:service name="SomeWebService">
<wsdl:port binding="tns:SomeWebService_SOAP_HTTP" name="SomeWebServicePort">
<soap:address location="http://192.168.0.7:9010/WSProject/SomeWebService"/>
</wsdl:port>
</wsdl:service>
We generated clients and mock services from this, and all was well. I guess that IP was getting ignored, because it's definitely not a valid URL in our domain.
Recently they announced they had to change tools, and supplied us with a new WSDL. In some ways, it's cleaner and looks better. But the same section still has a hard-coded IP.
<WL5G3N0:service name="SomeWebService">
<WL5G3N0:port binding="WL5G3N2:SomeWebService" name="SomeWebServicePort">
<WL5G3N3:address location="http://192.168.0.7:9010/WSProject/SomeWebServicePort"/>
</WL5G3N0:port>
The wierd looking namespace aside, they added Port to the URL, and all was strange. We generated a mock service and a JUnit client that talks to the mock and works. But the same client code, used by the real code in the same webapp as the mock service, fails with the below. Notice the IP in the first line. Again, that is not used anywhere else in the app, and is not valie in our network.
We are setting the URL through the client as normal, and it works in some conditions as described above. What to do?
[9/16/15 9:48:00:413 EDT] 000000ce WSChannelFram A CHFW0019I: The Transport Channel Service has started chain HttpOutboundChain:192.168.0.7:9010.
[9/16/15 9:48:21:546 EDT] 000000ce SystemOut O 2015-09-16 09:48:21:541 org.quartz.core.JobRunShell - Job DEFAULT.VendorUploadTask threw an unhandled Exception:
javax.xml.ws.soap.SOAPFaultException: java.net.ConnectException: Connection timed out: no further information
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1353) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:1079) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.marshaller.impl.alt.RPCLitMethodMarshaller.demarshalFaultResponse(RPCLitMethodMarshaller.java:558) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:626) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:566) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:432) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:213) ~[org.apache.axis2.jar:?]
at com.sun.proxy.$Proxy273.processRequest(Unknown Source) ~[?:?]
at my.org.st05client.usms.St05Client.sendToWS(St05Client.java:31) ~[classes/:?]
at my.org.job.VendorUploadJob.sendXml(VendorUploadJob.java:154) ~[classes/:?]
at my.org.job.VendorUploadJob.executeInternal(VendorUploadJob.java:122) ~[classes/:?]
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:111) ~[spring-context-support-4.0.0.RELEASE.jar:4.0.0.RELEASE]
at org.quartz.core.JobRunShell.run(JobRunShell.java:223) [quartz-1.8.6.jar:?]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) [quartz-1.8.6.jar:?]
Caused by: java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.6.0]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:614) ~[?:1.6.0]
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptConnectWork(WorkQueueManager.java:866) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.tcp.channel.impl.ConnectionManager.getConnection(ConnectionManager.java:185) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.tcp.channel.impl.TCPConnLink.connectCommon(TCPConnLink.java:252) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.tcp.channel.impl.TCPConnLink.connect(TCPConnLink.java:201) ~[?:CCX.CF [o1103.02]]
at com.ibm.wsspi.channel.base.OutboundProtocolLink.connect(OutboundProtocolLink.java:87) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.http.channel.outbound.impl.HttpOutboundLink.connect(HttpOutboundLink.java:281) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.channel.framework.impl.OutboundVirtualConnectionImpl.connect(OutboundVirtualConnectionImpl.java:79) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.websvcs.transport.http.HTTPConnection.doConnect(HTTPConnection.java:484) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.HTTPConnection.connect(HTTPConnection.java:199) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.setupHTTPConnection(SOAPOverHTTPSender.java:2146) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.<init>(SOAPOverHTTPSender.java:2087) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.HTTPTransportSender.invoke(HTTPTransportSender.java:352) ~[com.ibm.wsfp.main.jar:?]
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:544) ~[org.apache.axis2.jar:?]
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) ~[org.apache.axis2.jar:?]
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) ~[org.apache.axis2.jar:?]
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:578) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:127) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:419) ~[org.apache.axis2.jar:?]
... 8 more
2015-09-16 09:48:21:546 org.quartz.core.ErrorLogger - Job (DEFAULT.VendorUploadTask threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception.
at org.quartz.core.JobRunShell.run(JobRunShell.java:234) [quartz-1.8.6.jar:?]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) [quartz-1.8.6.jar:?]
Caused by: javax.xml.ws.soap.SOAPFaultException: java.net.ConnectException: Connection timed out: no further information
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1353) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:1079) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.marshaller.impl.alt.RPCLitMethodMarshaller.demarshalFaultResponse(RPCLitMethodMarshaller.java:558) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:626) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:566) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:432) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:213) ~[org.apache.axis2.jar:?]
at com.sun.proxy.$Proxy273.processRequest(Unknown Source) ~[?:?]
at my.org.st05client.usms.St05Client.sendToPACES(St05Client.java:31) ~[classes/:?]
at my.org.job.VendorUploadJob.sendXml(VendorUploadJob.java:154) ~[classes/:?]
at my.org.job.VendorUploadJob.executeInternal(VendorUploadJob.java:122) ~[classes/:?]
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:111) ~[spring-context-support-4.0.0.RELEASE.jar:4.0.0.RELEASE]
at org.quartz.core.JobRunShell.run(JobRunShell.java:223) ~[quartz-1.8.6.jar:?]
... 1 more
Caused by: java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.6.0]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:614) ~[?:1.6.0]
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptConnectWork(WorkQueueManager.java:866) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.tcp.channel.impl.ConnectionManager.getConnection(ConnectionManager.java:185) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.tcp.channel.impl.TCPConnLink.connectCommon(TCPConnLink.java:252) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.tcp.channel.impl.TCPConnLink.connect(TCPConnLink.java:201) ~[?:CCX.CF [o1103.02]]
at com.ibm.wsspi.channel.base.OutboundProtocolLink.connect(OutboundProtocolLink.java:87) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.http.channel.outbound.impl.HttpOutboundLink.connect(HttpOutboundLink.java:281) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.channel.framework.impl.OutboundVirtualConnectionImpl.connect(OutboundVirtualConnectionImpl.java:79) ~[?:CCX.CF [o1103.02]]
at com.ibm.ws.websvcs.transport.http.HTTPConnection.doConnect(HTTPConnection.java:484) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.HTTPConnection.connect(HTTPConnection.java:199) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.setupHTTPConnection(SOAPOverHTTPSender.java:2146) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.<init>(SOAPOverHTTPSender.java:2087) ~[com.ibm.wsfp.main.jar:?]
at com.ibm.ws.websvcs.transport.http.HTTPTransportSender.invoke(HTTPTransportSender.java:352) ~[com.ibm.wsfp.main.jar:?]
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:544) ~[org.apache.axis2.jar:?]
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) ~[org.apache.axis2.jar:?]
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) ~[org.apache.axis2.jar:?]
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:578) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:127) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:419) ~[org.apache.axis2.jar:?]
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:213) ~[org.apache.axis2.jar:?]
at com.sun.proxy.$Proxy273.processRequest(Unknown Source) ~[?:?]
at my.org.st05client.usms.St05Client.sendToPACES(St05Client.java:31) ~[classes/:?]
at my.org.job.VendorUploadJob.sendXml(VendorUploadJob.java:154) ~[classes/:?]
at my.org.job.VendorUploadJob.executeInternal(VendorUploadJob.java:122) ~[classes/:?]
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:111) ~[spring-context-support-4.0.0.RELEASE.jar:4.0.0.RELEASE]
at org.quartz.core.JobRunShell.run(JobRunShell.java:223) ~[quartz-1.8.6.jar:?]
... 1 more