[SOLVED] Limits on calling a webservice

Author: alex.meyers@cevi.be (ceviame)

Hi,   recently we had to interface with a document management system thru a webservice we loaded the wsdl, no problem there uploading documents uses xml with binary files in base64 encoding, no problem as long as the document is not too large on "big" files Uniface just dies have tried to put pre and post hooks in the soap, he goes thru the pre hook, the data is send to the webservice and is handled there, however the answer trashes Uniface even before the post hook is activated have now put a limit of 8Mb on the length of the string input param of the webservice and then no problem, all files go thru and get uploaded/changed the answer of the webservice is just status info (about 5k) and is the same for small or big files the webservice allows files up to 2Gb to be loaded, we have done it thru other utilities and no problem there Have been looking in the docs but cannot find any limit on activation of operation that is implemented by a webservice   Any ideas/help ???   Alex Meyers System Architect Cevi

4 Comments

  1. Hi Alex, I'm not aware of a SOAP (Web Service) Call-Out specific limit, but Uniface knows a 10MB limit for parameters. And this limit is also mentioned in the documentation. E.g.

    • Uniface Library > Modeling Applications > Development Objects > Maximums
      • "Size of a parameter = 10 MB (UTF8)"
    • Uniface Library > Uniface Reference > Proc: Statements > params
      • "The maximum size of a parameter can be 10 MB."

    In general this limit applies to Uniface components like UHTTP, UPOPMAIL, UXMLWRITER and UXMLREADER. And it also applies to Call-Out signatures using C or COM implementations. I'll need to do some testing, but it's very well possible that the parameters for a SOAP Call-Out are also limited to 10 MB. It would of course be more "user friendly" if Uniface would return an error instead of crashing when a parameter is exceeding a limit. Wink Will keep you posted. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  2. Hi Alex, Here's another update: I did some additional tests and I've found a buffer overflow problem. I'll create a new BUG report for this issue. Could you please create a new support case? This makes it easier when requesting a planning for this matter. But as far as I can see it now, the parameters for a SOAP Call-Out do not seem to be limited to 10 MB. Hope this helps. And thanks in advance for your efforts. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  3. Just a quick update: the described problem has been recognized in the meantime as BUG 30927 ('WS Call-Out: A crash occurs when the SOAP request is > 9999999 bytes (ca. 10M)') and a solution is currently planned for the patch X702 (that at this moment is scheduled for the week of August 10). Please not that this might still be subject to change. With the proposed fix it will be possible to create SOAP requests of about 450 MB when using 32-bit and 1 GB when using 64-bit Uniface. In case a SOAP request exceeds the mentioned limits then Uniface will return an error: for 32-bit that will be the Proc error -1406 (Memory allocation failure) and for 64-bit the error -1202 (Value too large). Please note that the limit for 32-bit Uniface is imposed by a memory restriction for 32-bit processes and the limit for 64-bit by a general Uniface buffer limit (that currently is 1 GB). Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  4. The patch X702 (with a fix for BUG 30927) is now available on Uniface Downloads: https://download.uniface.com/downloads/Uniface/patches/9607/ Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)