我需要能够将SOAP请求从外部公司发送到服务器。必须对SOAP消息进行签名,并且签名必须放在标头中。为了发送消息,我使用的是spring-ws中的WebServiceTemplate
,并在其中添加了Wss4jSecurityInterceptor
来对消息进行签名。我得到以下结果:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
...
<ds:SignatureValue>gqAR+uNUKsTPN6E7beEePUFN0MJs33whxWC0wBPBcIzWrgP/dPKVxHEuWEKo+zbl/wTYMe8a7S3O
sOkx+RyMWHVFzUrt6ag8GhHmOdNnBHa+Ll8aYFcwOjva2UCNEUg/Jxw6jgSE87ruK+hUD6BPjluO
35NxbMCMYB4XFAqNRKHH7W0PxiFelzKc7r9NRd7KJiLpmmNnwUUdn31gFw77y78pPPaFPO0wWYCb
F3VM3I9iV5FB/dqUxpiEvpEc+D/8cFTlK/AP1KysF9f+pI6gxX0QFTLwTBOuh2A9bLIbWrDHNoHn
8hfCIPlpu8+/jFzJh+MPX560oe4xcO6ZPMThtA==</ds:SignatureValue>
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
接收服务器在此消息上返回错误,而我从另一家公司得到的答复是由于回车在签名中返回了
。有什么方法或设置可以更改,使wss4j或spring-ws不包含回车符吗?