我创建了一个使用Java Web服务的WCF客户端。 soap 1.1请求和响应使用X509 Certs进行签名和加密。我在尝试读取响应数据时当前收到以下异常。
无法解析签名中的“#id-1234”URI来计算摘要。
客户端正确运行正文签名的响应。对于这个特定的反应,身体本身没有签名。部分部分已签名。例如:
{{1}}
我之前发现这个SO响应说WCF不支持签署身体部分。相反,你必须作为一个整体签署身体。 WCF- Sign a specific field inside the body of a soap message
我的问题是:
我不知道签署Java服务的部分响应背后的原因。如果能够为WCF不支持当前方法的原因提供合理的解释,我或许可以建议更改方法。我没有对服务代码的任何直接控制。
我的客户端代码有点广泛(和私有),使用自定义绑定,自定义消息编码器和自定义凭据,但我可能会提供一些伪代码来帮助说明我的设置是否有用。
提前感谢您的帮助。