当前位置:  开发笔记 > 编程语言 > 正文

如何确定SOAP消息的最大大小?

如何解决《如何确定SOAP消息的最大大小?》经验,为你挑选了1个好方法。

我在PHP 5.2.6上使用NuSOAP,我发现最大消息大小只有1000个字节(这使得很难做任何有意义的事情).这是在端点的WSDL中设置的还是我可以在NuSOAP中配置的东西?



1> 小智..:

关于"1000字节限制"的FUD ...我查找了nusoap_client源代码,发现该限制仅对调试输出有效.

这意味着处理所有数据并将其传递给Web服务(无论其大小如何),但调试日志中仅显示前1000个字节(或更准确地说:字符).

这是代码:

$this->debug('SOAP message length=' . strlen($soapmsg) . ' contents (max 1000 bytes)=' . substr($soapmsg, 0, 1000));

// send
$return = $this->send($this->getHTTPBody($soapmsg),$soapAction,$this->timeout,$this->response_timeout);

您可以清楚地看到,getHTTPBody()调用使用整体$soapmsg,并且只有调试输出限制为前1000个字符.如果你想更改它,只需更改substr()调用以满足您的需要,或者只需将其替换$soapmsg(所以一切都显示在调试输出中).

这应该与实际发送的数据的任何实际限制完全无关.当然还有其他因素实际上会限制您可以发送的内容的大小(例如,为PHP脚本设置的RAM限制,HTTP实现的限制或者可用的虚拟内存不足),但是理所当然地认为没有您可以使用NuSOAP发送的数据的"1000字节限制".

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有