我们使用部署在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。
此外,这个问题可能是因为除了传输级加密,我们还需要消息级加密吗?
答案 0 :(得分:0)
此问题已解决。问题是内容在从NetScaler发送之前被gzip压缩。因此,在传输级别解密之后,我们仍然可以看到标题而不是内容。添加GZip&amp; CXF端点上的故障拦截器解决了这个问题。