骆驼 CXF 不解密 SOAP 响应



我们正在使用 Fuse 中部署的 Camel CXF 调用安全的 SOAP WebService。在客户端中,我们已根据标准配置配置了信任库和密钥库。我们能够通过Netscaler访问服务器。服务器正在生成响应并将其发送回 Netscaler。

当从Netscaler收到响应时,它将被加密,并应由Camel CXF解密。解密没有发生,在客户端上我们收到解析错误,因为响应都是加密的。

有什么可能是什么问题的任何线索?

我看到的唯一 stackTrace 是消息解析失败,因为消息已加密,因为存在 Ctrl 字符。

<http:conduit name="https.*">
    <http:tlsClientParameters secureSocketProtocol="TLS">
        <sec:keyManagers ref="keyManagersBean"/>
        <sec:trustManagers ref="trustManagersBean"/>
    </http:tlsClientParameters>
</http:conduit>

keyManager 和 trustManager bean 是使用定制工厂创建的。

另外,这个问题可能是因为除了传输级加密之外,我们还需要消息级加密吗?

此问题已解决。问题是内容在从NetScaler发送之前被压缩了。因此,在传输级解密之后,我们仍然可以看到标头,但看不到内容。在CXF端点上添加GZip和故障拦截器解决了这个问题。

最新更新