Announcement Announcement Module
No announcement yet.
TCP Message Handler unable to find outbound socket, full headers intact. Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • TCP Message Handler unable to find outbound socket, full headers intact.


    I am noticing around 2% of my requests are not getting responses from the application. After checking the logs, I can see the following error (header truncated by me):
    ERROR egration.ip.tcp.TcpSendingMessageHandler  - Unable to find outbound socket for [Payload="full message here"]
    [Headers={history=binaryPort01_TcpInboundAdpt,binaryPort01_TcpInboundChnl,binaryPort01_ServiceRequestChnl,binaryPort01_TcpOutboundChnl,binaryPort01_TcpOutboundAdpt, ip_tcp_remote_port=47421, ip_connection_id=localhost:47421:d754d586-5d71-4740-9154-9aa35563405d, timestamp=1335875750526, ip_connection_seq=34, id=319c576d-2cc8-455c-a0a4-7846c7a15b56, ip...]
    I've seen this error before only when the ip_connection_id was missing after splitting a message and losing the header info, but I've never seen this with the full header in place.

    I'm thinking the client is disconnecting, but I have no proof yet. Not sure what else could be happening.

    Any and all clues welcome!

  • #2
    Yes; this implies the socket is no longer open when the gateway receives the response; if you have debug turned on, you should be able to trace all activity on the connection (including the close) by grepping for 'localhost:47421:d754d586-5d71-4740-9154-9aa35563405d'.


    • #3
      I have run into the same situation but on the client side I have tcp channel adaptors instead of gateway.

      Although I could not validate this (closed socket) from the debug logs, but how do I prevent the socket from getting closed? or is there any other solution for this problem?


      • #4
        That is a server-side message; it means a server connection factory is wired into the outbound channel adapter. On the client side you must use a client connection factory.