none
Api throwing error for larger data RRS feed

  • Question

  • Hi,

    I am passing the string of type base64 to  some of the api input.

    if the size more  than 250 KB it is not working and send port is throwing error.

    Error : 

    The adapter failed to transmit message going to send port "Sendport" with URL "". It will be retransmitted after the retry interval specified for this Send Port. Details:"Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: The value for field "FILE_DATA" is invalid. ---> System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. 

    ______________________________________________

    Thanks,

    Rajeshwari M.L

    Monday, November 14, 2016 11:45 AM

Answers

  • Hi Rajeshwari,

    The error seems to be with the data that is being sent as the encoded string rather than thesizelimitation.

    I would suggest you to examine the base64 string and check if there is sme invalid character in the field.

    Regards


    Mandar Dharmadhikari

    Monday, November 14, 2016 11:50 AM
    Moderator

All replies

  • Hi Rajeshwari,

    The error seems to be with the data that is being sent as the encoded string rather than thesizelimitation.

    I would suggest you to examine the base64 string and check if there is sme invalid character in the field.

    Regards


    Mandar Dharmadhikari

    Monday, November 14, 2016 11:50 AM
    Moderator
  • Hi Mandar,

    have checked it seems like the input is fine.

    the base64 string is more than 1MB. is there any limitation in the  

    input field size?

    _____________________________________________

    Thanks,

    Rajeshwari M.L

    Monday, November 14, 2016 11:54 AM
  • Hi Rajeshwari,

    I still believe that there is some invalid character which is padded at the end..

    i suggest you to try the following

    capture the suspended message,

    Use a C# console app

    Load the xml of the suspended message and then inspect the base 64 string by converting it to normal format

    Then again

    1 MB should not be a problem.

    But Is this sent to another Biztalk API or Some Third party service??

    Regards,


    Mandar Dharmadhikari

    Monday, November 14, 2016 11:59 AM
    Moderator
  • Hi Rajeshwari,

    I don't think data size is any reason here. Your data have some invalid character , which you need to find .

    kindly look into below link , may be it will help full.

    http://stackoverflow.com/questions/15114044/the-input-is-not-a-valid-base-64-string-as-it-contains-a-non-base-64-character

    Regards

    Abhay Giri

    Monday, November 14, 2016 12:29 PM
  • Hi Rajeshwari

    How are you creating the base64 string that is being sent to the SendPort? The error is most probably NOT due to size limitation but due to the presence of some character(s) that is not liked by the XML parser on the SendPort.


    Thanks Arindam

    Monday, November 14, 2016 12:33 PM
    Moderator
  • Hello

    In this case its some hidden characters in your input file, parser not able to convert base 64.

    There is no limitation at parsing end. I recommend use any online editors to convert ur base 64 message and see how output looks.

    https://www.base64decode.org/



    Ram

    Monday, November 14, 2016 1:41 PM
  • Can you describe the scenario in more detail?

    What Adapter?

    What Message format (SOAP/JSON/Xml)?

    What is FILE_DATA?

    Monday, November 14, 2016 1:48 PM
    Moderator