SugarCRM soap apis giving read time out

We have one customer who is on SugarCRM on premise 8.0.2 version. When we are trying to access SugarCRM instance of this customer via SOAP apis, we are getting read timeout exception. I have looked through the SugarCRM release notes and found that there was one issue related to SOAP apsi which was fixed in 8.0.1 and 8.1.0.

  • 80813 : The SOAP API and is not available for use, rendering applications which use SOAP unable to connect to Sugar. 

Can someone please confirm if the fix is available in 8.0.2 or the issue was introduced again in 8.0.2?

Parents
  • That issue is fixed in 8.0.2.

    Can you reach {site_url}/service/v4/soap.php? That should display some built-in docs that should verify that SOAP API is functioning properly.

    There may be some customizations that affect login experience for this customer.

    Of course, you can find tips and code examples for working with SOAP API in the Sugar Developer Guide.

    http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_8.0/Integration/Web_Services/Legacy_API/… 

    http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_8.0/Cookbook/Web_Services/Legacy_API/SOA… 

    App Ecosystem @ SugarCRM

  • Hi Matt,

    Thanks for your reply. 

    The customer had confirmed that they had some network configuration to block SOAPAction Header. They have fixed the configuration to allow SOAPAction header.

    Now, we are facing a new issue with customer SugarCRM SOAP login api.

    When we are passing the following header, the customer Sugarcrm server is unable to read the body of the SOAP login api and giving "error in msg parsing: xml was empty, didn't parse!"

    Transfer-Encoding            chunked

    When we remove this header in the request, the Soap login api request is successful.

    Can you please let me know, if there is any setting in Sugarcrm around the Transfer-Encoding header.

    Thanks in advance for the help.

  • The SOAP library we use doesn't support chunked transfer encoding. I'm surprised that simply eliminating that header works because the content is transmitted differently if you are using chunked encoding.

    Chunked transfer encoding - Wikipedia 

    I think you're having issues with your SOAP client or a proxy or firewall mangling the SOAP requests that are being sent. I suspect the root cause of issue is outside of Sugar and it's best to understand and address root cause of issue.

    If absolutely needed, you could configure Apache to unset this header which would keep Sugar from seeing it.

    mod_headers - Apache HTTP Server Version 2.4 

    App Ecosystem @ SugarCRM

  • Hi Matt,

    We were able to reproduce the issue with Transfer-Encoding on our on prem instance as well.  We have our SugarCRM instance on AWS, AWS internally ignores Transfer-Encoding header because of which we were not able to reproduce the issue earlier. After changing our AWS ELB configuration to use TCP protocol, we were able to reproduce the issue.

    We have fixed our code to stop sending Transfer-Encoding header, 

    (SugarsoapStubStub)stub)._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, false);

    Thanks Matt for all the help to resolve the issue.

Reply
  • Hi Matt,

    We were able to reproduce the issue with Transfer-Encoding on our on prem instance as well.  We have our SugarCRM instance on AWS, AWS internally ignores Transfer-Encoding header because of which we were not able to reproduce the issue earlier. After changing our AWS ELB configuration to use TCP protocol, we were able to reproduce the issue.

    We have fixed our code to stop sending Transfer-Encoding header, 

    (SugarsoapStubStub)stub)._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, false);

    Thanks Matt for all the help to resolve the issue.

Children
No Data