none
Suspended Instances on WCF-WebHTTP Solicit Request Response Send port not capturing complete error message RRS feed

  • Question

  • Hi All,

    We are using Biztalk 2013 R2 version and calling REST ODATA Service and when we send wrong query syntax to service it results into INTERNAL 500 Server Error with proper error explanation but complete error does not get captured on suspended instances.

    Error Captured in BizTalk:

    System.Net.WebException: (500) Internal Server Error

       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)

    Error Captured in Fiddler:

    {

    "error" : {

    "code" : "ServerErrorException", "message" : {

    "lang" : "en-US", "value" : "Server was unable to understand the URI of your OData API request, which contained the invalid character text sequence of: [[userId], [+], [eq], [+], ['64']] . Please check the correctness of your query syntax, especially for unexpected whitespace or punctuation. For API syntax requirements consult https://help.sap.com/viewer/d599f15995d348a1b45ba5603e2aba9b/PRODUCTION/en-US"

    }

    }

    }

    Please suggest if there is any fix for it to get complete error information.

    Regards,

    Vikingsss

    Thursday, November 2, 2017 2:11 PM

All replies

  • That error would be in the error message but wrapped up in what looks like a SOAP fault message (but not set with the correct message type).  This is a known issue with the WCF-Webhttp adapter.   

    We usually only try and handle the 404 error cleanly in an Orchestration Exception block around the Send/Receive for a  GET, by checking if the whole error message contains a string that says "not found" or whatever the error message is, everything else is just thrown the ESB Exception Framework, as you should not get the other error type unless there is something fundamentally wrong.


    Thursday, November 2, 2017 5:56 PM