Axis2问题:WSHandler:检查签名确认:存储的SV向量不为空

发布于 2024-09-16 09:18:42 字数 1652 浏览 3 评论 0原文

我在查询使用 WS-Security 的 Web 服务时遇到问题。我使用由 axis2 和实现 WS-Security 的 rampard 模块创建的代码。我认为我提出了很好的查询并得到了回复,但该回复中有一些我的客户不理解的内容。异常看起来像:

 INFO [main] (?:?) - Verification successful for URI "#element-113-1282904809584-289878786"
 INFO [main] (?:?) - Verification successful for URI "#timestamp"
ERROR [main] (AxisEngine.java:209) - WSHandler: Check Signature confirmation: stored SV vector not empty
org.apache.axis2.AxisFault: WSHandler: Check Signature confirmation: stored SV vector not empty
    at org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:92)
    at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
    ...

我的axis2.xml中的rampard配置:

<parameter name="InflowSecurity">
  <action>
    <items>Signature Encrypt</items>
    <passwordCallbackClass>pl.firstdata.www.wdx.business.card.PWCallback</passwordCallbackClass>
    <signaturePropFile>client.properties</signaturePropFile>
    <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
    <signatureParts>{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body</signatureParts>
    <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
    <encryptionUser>wdx_test</encryptionUser>
  </action>
</parameter> 

我可以在客户端做些什么来避免出现此类异常吗?

I have problem with querying webservice which uses WS-Security. I use code creadted by axis2 with rampard module which implements WS-Security. I think I make good query and I got response, but that response have something my client do not understand. Exception look like:

 INFO [main] (?:?) - Verification successful for URI "#element-113-1282904809584-289878786"
 INFO [main] (?:?) - Verification successful for URI "#timestamp"
ERROR [main] (AxisEngine.java:209) - WSHandler: Check Signature confirmation: stored SV vector not empty
org.apache.axis2.AxisFault: WSHandler: Check Signature confirmation: stored SV vector not empty
    at org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:92)
    at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
    ...

My rampard configuration in axis2.xml:

<parameter name="InflowSecurity">
  <action>
    <items>Signature Encrypt</items>
    <passwordCallbackClass>pl.firstdata.www.wdx.business.card.PWCallback</passwordCallbackClass>
    <signaturePropFile>client.properties</signaturePropFile>
    <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
    <signatureParts>{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body</signatureParts>
    <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
    <encryptionUser>wdx_test</encryptionUser>
  </action>
</parameter> 

Is there something I can do on client side to not to get such exception?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄与心 2024-09-23 09:18:42

我更改了 axis2.xml 配置文件,并添加了:

<parameter name="InflowSecurity">
  <action>
    ... 
    <enableSignatureConfirmation>false</enableSignatureConfirmation>
  </action>
</parameter>

现在我的客户端不希望服务器响应中出现签名确认。

I changed axis2.xml configuration file, and added:

<parameter name="InflowSecurity">
  <action>
    ... 
    <enableSignatureConfirmation>false</enableSignatureConfirmation>
  </action>
</parameter>

Now my client do not expect signature confirmation in server response.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文