I'm having issues with a SOAP consumption, the request is very simple with only one attribute, and usually this works well but there is one record where the response is greater than the 65536 limit of the binding.I was advised to use Factory Configuration but without success.The error is as follows:"The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. "Supposedly i had to go and change this on the web.config but it's a cloud platform.
Hi Samuel,
Please check out this post:
https://www.outsystems.com/forums/discussion/13180/error-maximum-message-size/
Are you using an old version of Service Studio?
If yes, update to the latest version as the MaxReceivedMessageSize property of the binding is now by default set to the maximum value.
An alternative is to manually change the MaxReceivedMessageSize property in the ServiceStudio.WS.bindings.config file, as explained in the post below the solution by Acácio Porta Nova.
Hope this helps.
Regards,
Nordin
Hi Nordin,
My issue is not opening an espace, it's actually at runtime when using a method from a SOAP webservice.
The method itself works fine except when the message really exceeds 65536 bytes.
Thank you for the suggestion though
I'm struggling with that same error, I get the error at runtime when consuming SOAP WS.
Did you manage to find a solution?
Thanks
@Samuel Caeiro / @Severiano Melo Did you guys resolve the Issue, I face same issue - I am looking for the resolution- please advise
Hi Jamal,
In my case, the error occurred at runtime when executing a SOAP request defined within an extension, so what I had to do was set the MaxReceivedMessageSize, MaxBufferSize, MaxBufferPoolSized parameters directly in the HttpBinding object.
var client = SoapRequest.GetCurrentClient();
BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
const int SizeInMegaBytes = 2147483647;
basicHttpBinding.MaxReceivedMessageSize = SizeInMegaBytes;
basicHttpBinding.MaxBufferSize = SizeInMegaBytes;
basicHttpBinding.MaxBufferPoolSize = SizeInMegaBytes;
client.Endpoint.Binding = basicHttpBinding;
Hope this helps
Best regard
That's what we did, but we have a SOAP consumed in OutSystems, combined with an OnBeforeRequestAdvanced. We needed a CustomBinding, as we also added a logger, as I described here.
ISOAPClient client = SoapRequest.GetCurrentClient(); CustomBinding customBinding = new CustomBinding(); var httpsTransportBindingElement = new HttpsTransportBindingElement { RequireClientCertificate = true, MaxReceivedMessageSize = 0x400000 }; customBinding.Elements.Add(httpsTransportBindingElement);
We only needed to set the MaxReceivedMessageSize for it to work.