Camel CXF无法解密SOAP响应

时间:2015-04-17 16:11:38

标签: cxf jbossfuse

我们使用部署在Fuse中的Camel CXF调用安全的SOAP WebService。在客户端中,我们根据标准配置配置了TrustStore和Keystore。我们可以通过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。

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

1 个答案:

答案 0 :(得分:0)

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