0

在我们的组织中,我们有一些使用 java 到 wsdl 方法的基于肥皂的 Web 服务。现在有一个安全要求来修复传递给服务方法的请求参数的限制。目前,我们在 wsdl 中有一个参数的 maxoccurs 属性是无界的,因为我们在 java 中将该参数作为一个集合。

为了解决这个问题,看起来我们需要在 java 源代码中进行一些更改以重新生成符合此要求的 WSDL。我知道有一些非官方的 api 可以用来替代 jaxb,提供可以添加到 java 源代码中的注释。这可能会导致生成的 WSDL 具有固定配置值的 maxoccurs。但是,由于许可和其他问题,使用这些第三方解决方案存在一些问题。此外,我们需要为 WSDL 启用模式验证。

我想知道是否有解决方案可以在 WSDL 或 java 源的范围之外完成此检查以符合此要求。我正在看的是一个可配置的解决方案,无需接触 wsdl 或 java 源代码。我们在我们的组织中使用 IBM Datapower。如果我们可以使用 datapower 配置一个策略或其他东西,如果任何 Web 服务方法参数的 maxoccurs 高于配置值,它将拦截 Web 服务请求参数并抛出错误。有没有人在这样的用例中使用过 datapower。或者有没有更好的方法来实现它。

4

1 回答 1

0

我相信您可以限制消息的最大长度。这实际上比防止 DDOS 发生在网络层的 WSDL 限制要好。

于 2015-05-31T00:45:20.257 回答