在Delphi中接收SOAP消息是否有最大大小?

时间:2015-01-12 21:16:39

标签: delphi soap

Delphi中传入的SOAP消息的大小是否有限制?我有接收非常大的XML SOAP消息的代码,但它目前在使用此错误超过50MB左右的消息时失败:

TServiceWrapper中的EDOMParseError异常 没有足够的存储空间来完成此操作。

行:11

通过日志记录,我可以看到我在RIO中通过了BeforeExecute事件没有问题,但我没有进入AfterExecute事件。我没有用完纯存储,但DOMParser允许使用的是否有限制,是否可以配置?

编辑:我发现的更多信息。部分问题似乎确实与Delphi线程相关。我已经能够成功地从WebNode手动获取XML响应流并绑定,如果我在一个独立的exe中执行它,但当它从我的主应用程序通过线程运行时,我收到有关存储的相同错误消息。

1 个答案:

答案 0 :(得分:0)

操作系统引发了几个类似的错误。

以下摘自Steve Friedl网站。

  • 没有足够的存储空间可用于处理此命令
    • 明确耗尽内存,例如通过LocalAlloc,或者如果线程太多则在CreateThread上耗尽
  • 没有足够的存储空间来完成此操作。
    • 耗尽间接非磁盘资源(文件HANDLE等)

TechNet Suggests以下内容:

执行以下操作之一,然后重试操作:

  1. 减少正在运行的程序数
  2. 从页面文件所在的磁盘中删除不需要的文件并重新启动系统
  3. 检查页面文件磁盘是否存在I / O错误
  4. 在系统中安装附加内存。
  5. 另外我确保你安装了最新的MsXML Parser,我记得在Windows XP下运行这个错误并且升级解决了这个问题。