Skip to Content

unable to create socket

Hello,

I have idoc to soap scenario.  

When the message is trying to send,  the soap receiver is throwing below error, kindly advice

creating a socket to host abc.com at port 4443

Error in call over HTTP: HTTP 0 null

SOAP: call failed: java.io.IOException: unable to create a socket

[EXCEPTION]

Failed to call the endpoint: Error in call over HTTP: HTTP 0 null; nested exception caused by:

java.io.IOException: unable to create a socket

at com.sap.aii.af.sdk.xi.net.HTTPClientConnection.call(HTTPClientConnection.java:373)

at com.sap.aii.af.sdk.xi.net.HTTPClientConnection.post(HTTPClientConnection.java:314)

at com.sap.aii.af.sdk.xi.srt.CallerServiceImpl2.call(CallerServiceImpl2.java:207)

at com.sap.aii.af.sdk.xi.srt.TransportBubble.onMessage(TransportBubble.java:37)

at com.sap.aii.af.sdk.xi.srt.ExtensionBubble.onMessage(ExtensionBubble.java:56)

at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.callBubbleSequenceReceiver(XISOAPAdapterBean.java:816)

at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:663)

at sun.reflect.GeneratedMethodAccessor1634.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:47)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)

at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)

at $Proxy778.process(Unknown Source)

Thanks in advance

Regards,

Harsha

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    Jul 30, 2012 at 11:56 AM

    Hi Harsha,

                       Did you try pinging the web server from your system?

    pls request your BASIS team to try TELNET/PING the webserver at operating system level to check if the client firewall is allowing SOAP request to flow to web service.

    Network team needs to look in the issue as well. If there is a proxy server between client network and webservice then proxy server  has  to allow SOAP request to flow to web service.

    Regards

    Anupam

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 30, 2012 at 10:57 AM

    Hi Harsha,

    As the error indicates, web service server is not reachable from PI. This can happen due to network issues or SSL issues.

    creating a socket to host abc.com at port 4443

    Error in call over HTTP: HTTP 0 null

    SOAP: call failed: java.io.IOException: unable to create a socket

    You should check the following.

    1. Ensure that the web service server is reachable from PI. Log into PI server and try to open the WSDL in a IE browser.

    2. Are you trying to use SSL? You need to ensure that proper cert are installed.

    Add comment
    10|10000 characters needed characters exceeded

    • This is what i saw in the xpi_inspector. I think, I used example 30(XI Adapter) and chose SOAP adapter.

      Error creating client SSL socket

      [EXCEPTION]

      java.net.ConnectException: Connection timed out: connect

      Check the location url in the WSDL. There should be multiple bindings indicating support of multiple authentications. By unsecured i meant http without ssl.

  • Jul 30, 2012 at 02:37 PM

    Hi Harsha,

    The issue will because of the IP is not reachable. Please check the firewalls at your end.

    Most of the time firewall are configured with NAT adress and from PI NAT address needs to use in Communication channel.

    Regards,

    Harish

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 30, 2012 at 11:02 AM

    Hi Harsha,

    This error means the socket stack on the server machine received your connection request and intentionally refused to accept it. That happens for one of two possible reasons: 

    1) There is no listening socket running on the port you are trying to connect to. (weird)

    2) there is a listening socket, but its backlog of pending connections is full, so there is no room to queue your request at that moment.

    You should contact with your partner and to know the maximum concurrency and the messages weight. This kind of error is difficult to resolve only in the PI side.

    Regards.

    Add comment
    10|10000 characters needed characters exceeded

    • Thanks Vila for the reply,  couple of things i tried ,   when i tried to send to the external party outside the firewall then the socket error is coming. But when i tried to post the soap message to 50000 port of different server within inter landscape then the socket is getting created without any issue.    Socket is not getting created when the message is going out of firewall. But telnet / ping to the specific host and port are going correctly.   Could you let me know if i can test this somehow with soap ui , will it be helpful ?