none
SOAP WCF Issue - The request could not be understood by the server due to malformed syntax RRS feed

  • Question

  • Hi All

    We have WCF Contract which can accept list of StudySize as input . Study size is a data container class contains ID and File Size.

    The operation contract is below

    [OperationContract]
    void GetMissingAndDifferentStudiesFromList(List<StudySize> sourceStudies, string stackUId, out List<string> missingStudies, out List<string> diffStudies, long pixelFileSizeToIgnore, long dtsFileSizeToIgnore);    

    ISSUE:

    If the sourceStudies size is 500, meaning if the list contains 500 study size members am getting 400 -bad request from server.

    In detail the server is failing with the error as "  The request could not be understood by the server due to malformed syntax "

    If i reduce this source studies size to 300 it is successful. am getting 200 from the server. Please let me know why it says 400

    when the list contains 500 members of study size

    My Observations:

    Have verified the http run time max request length in web.config which is 100 KB. and the content length of my request is 76 KB. hence the request length would not be an issue here.

    Also introduce the new send time out to 10 mins which  is not helping

    Please let me know what is the root cause behind the issue and  please let me know how i can resolve the issue





    Monday, July 18, 2016 12:53 PM

All replies

  • Hi SukumarNellore,

    >> If the sourceStudies size is 500, meaning if the list contains 500 study size members am getting 400 -bad request from server.

    I made a test with below, but I could not reproduce your issue. It would be helpful if you could share us a simple code and your configure files in Service side and client side.

    //service        
    
    [OperationContract]
    
    string GetMissingAndDifferentStudiesFromList(List<StudySize> sourceStudies);
    
    //client
    
    Service1Client client = new Service1Client();
    
    StudySize ss = new StudySize { Id=1, FileSize=1 };
    
    StudySize[] sourceStudies = new StudySize[600];
    
    for (int i = 0; i < sourceStudies.Count(); i++)
    
    {
    
       sourceStudies[i] = ss;
    
    }
    
    string result=client.GetMissingAndDifferentStudiesFromList(sourceStudies);
    

    In addition, I would suggest you try IErrorHandler, and debug this at service side to check the real error. Or, I would suggest you try Tracing and Message Logging in WCF.

    Best Regards,

    Edward


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    Thursday, July 21, 2016 1:27 PM