2010-08-27 3 views
1

J'ai un problème avec l'interrogation de service Web qui utilise WS-Security. J'utilise le code codé par axis2 avec le module rampard qui implémente WS-Security. Je pense que je fais une bonne requête et j'ai reçu une réponse, mais cette réponse a quelque chose que mon client ne comprend pas. regard d'exception comme:Problème Axis2: WSHandler: Vérification Confirmation de signature: vecteur SV stocké non vide

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

Ma configuration 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> 

Y at-il quelque chose que je peux faire sur le côté client pour ne pas obtenir une telle exception?

Répondre

0

j'ai changé le fichier de configuration axis2.xml, et a ajouté:

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

Maintenant, mon client ne vous attendez pas à la confirmation de la signature en réponse du serveur.

Questions connexes