1

我正在尝试帮助一位同事在 WCF Web 服务操作上运行SOATest(一个使测试 SOAP 服务变得容易的 Web 服务客户端),对于“大”响应,我们看到了这个错误:

SOAP Message size it greater than allowed limit [SECURITY.MSGSIZE v 1.0]

这很令人困惑,因为该工具实际上能够从服务器获得不包含 SOAP 错误的响应。此外,响应根本不是很大——确切地说是 22kb。我似乎无法通过谷歌搜索此错误消息,其中的语法/拼写错误也对我不利。

这是 SOATest 设置吗?也许是 WCF 设置?还是 WS-Security 设置?这当然不是我们在服务器级别施加的限制。

这是后人的屏幕截图

4

1 回答 1

0

我们能够在SOATest 论坛上得到这个错误的答案。

SECURITY.MSGSIZE 是可添加到响应中的默认 SOAP 策略规则检查之一。这是正在应用的特定规则的屏幕截图。此特定规则位于:

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条件是可以根据需要更改此规则的位置。或者您可以简单地将其作为默认策略包的一部分取消选中,然后以这种方式保存更改。

于 2010-01-22T16:53:38.097 回答