SOAP 消息大小是不是大于允许的限制 [SECURITY.MSGSIZE v 1.0]?如何?
Posted
技术标签:
【中文标题】SOAP 消息大小是不是大于允许的限制 [SECURITY.MSGSIZE v 1.0]?如何?【英文标题】:SOAP Message size it greater than allowed limit [SECURITY.MSGSIZE v 1.0]? How?SOAP 消息大小是否大于允许的限制 [SECURITY.MSGSIZE v 1.0]?如何? 【发布时间】:2010-01-20 21:18:31 【问题描述】:我正在尝试帮助一位同事在 WCF Web 服务操作上运行 SOATest(一个使测试 SOAP 服务变得容易的 Web 服务客户端),对于“大”响应,我们看到了这个错误:
SOAP Message size it greater than allowed limit [SECURITY.MSGSIZE v 1.0]
这很令人困惑,因为该工具实际上能够从服务器获得不包含 SOAP 错误的响应。此外,响应根本不是很大——确切地说是 22kb。我似乎无法通过 Google 搜索此错误消息,而且其中的语法/拼写错误也对我不利。
这是 SOATest 设置吗?也许是 WCF 设置?还是 WS-Security 设置?这当然不是我们在服务器级别施加的限制。
这是一个screenshot 供后代使用。
【问题讨论】:
哈哈哈,SOAtest..如果你是荷兰人,那真的很有趣。 啊,是的 :) translate.google.com/#nl|en|soa%20test 【参考方案1】:我们能够在SOATest forums 上获得此错误的答案。
SECURITY.MSGSIZE 是可添加到响应中的默认 SOAP 策略规则检查之一。这是正在应用的特定规则的screenshot。此特定规则位于:
C:\Program Files\Parasoft\SOAtest\5.5.3\rules\SOAP\SECURITY.MSGSIZE.rule
如果您打开位于以下位置的默认策略配置包:
C:\Program Files\Parasoft\SOAtest\5.5.3\rules\soa.policy
然后,您可以禁用或修改 SECURITY.MSGSIZE 规则的值,方法是右键单击 SOAP->Avoid large SOAP messages [SECURITY.MSGSIZE]->Edit->Method:
def checkSize(value, context):
message = XMLUtil.serialize(value)
size = len(message)
if size > 10240:
return 1
else:
return 0
size > 10240
条件是可以根据需要更改此规则的位置。或者您可以简单地将其作为默认策略包的一部分取消选中,然后以这种方式保存更改。
【讨论】:
以上是关于SOAP 消息大小是不是大于允许的限制 [SECURITY.MSGSIZE v 1.0]?如何?的主要内容,如果未能解决你的问题,请参考以下文章
如果上传的图像大于指定大小,需要向 CMS 作者显示通知消息