axis2の問題:wshandler:署名確認を確認:保存されたsvベクトルは空ではありません

StackOverflow https://stackoverflow.com/questions/3583502

質問

WS-Securityを使用するWebサービスの照会に問題があります。 axis2によってクレッドされたコードを使用します rampard WSセキュリティを実装するモジュール。私は良いクエリをして、応答を得たと思いますが、その応答には私のクライアントが理解していないものがあります。例外は次のように見えます:

 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)
    ...

私の rampard 構成 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> 

そのような例外を取得しないために、クライアント側でできることはありますか?

役に立ちましたか?

解決

私が変更され axis2.xml 構成ファイル、および追加されました:

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

これで、私のクライアントはサーバーの応答の署名確認を期待していません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top