Skip to main content
Summary Receiving error CONNECTION_CLOSED_GETTING_SEND_BUFFER
Article Number 13623
Environment Artix C Runtime All Version All Supported Operating Systems
Question/Problem Description Receiving error CONNECTION_CLOSED_GETTING_SEND_BUFFER
Receiving error IT_ATLI2_IOP:CONNECTION_CLOSED_GETTING_SEND_BUFFER
Clarifying Information
Error Message Mon, 1 Jan 2012 01:23:45.1234567 [host:12345] (IT_HTTP:208) E - Caught system exception while flushing message : IDL:omg.org/CORBA/TRANSIENT:1.0: minor = 0x495404C5 (IT_ATLI2_IOP:CONNECTION_CLOSED_SENDING_BUFFER), completion status = NO
Defect/Enhancement Number
Cause This error is reported when the connection associated with the socket being written to is already closed. This can be caused when the client side or server side have a low value for either the http SendTimeout or http  ReceiveTimeout properties respectively Another possible reason to see this error is if the server side (or possibly a firewall) closes the connection after Artix has opened the connection, but before it has written the message to the server. If the IT_BUS.TRANSPORT.HTTP logging subsystem logs info messages and a large message is being sent, then this will increase the window during which the connection might be closed. 
Resolution

Turn off the log level messages in the IT_BUS.TRANSPORT.HTTP. For example to log all messages except these the configuration would be:
event_log:filters ["*=*", "IT_BUS.TRANSPORT.HTTP=WARNING FATAL ERROR"];

The timeout values can be increased by setting the properties in the wsdl file within the "wsdl:port" stanza. Please see the extract below for details, for a full sample wsdl please see <artix_install>\\demos\\basic\\http_timeout\\etc\\hello_world.wsdl

<wsdl:definitions name="HelloWorld" targetNamespace="http://www.iona.com/http_timeout"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:http-conf=http://schemas.iona.com/transports/http/configuration
...
     <wsdl:service name="SOAPService">
        <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
            <soap:address location="http://localhost:9055"/>
            <http-conf:client SendTimeout="5000" ReceiveTimeout="5000"/>
            <http-conf:server SendTimeout="5000" ReceiveTimeout="5000"/>
        </wsdl:port>
     </wsdl:service>
</wsdl:definitions>


By default if Artix receives a timeout while trying to connect to the service it will try a total of five connection attempts. This is controlled by the configuration Connection.

These properties can also be set programmatically please see the documentation for this.

References to other documentation.
"Developing Artix Applications in Java",  "Working with Transport Attributes" 
"Developing Artix Applications with C ",  "Working with Transport Attributes" 

Workaround
Notes
Attachment
Created date: 06 September 2011
Last Modified: 13 February 2013
Last Published: 12 May 2012
First Published date: 09 September 2011

#KnowledgeDocs
#Orbix