Question

J'ai un client SOAP et également un serveur de savon à la fois à l'aide de CXF. J'ai la signature de message qui fonctionne correctement. Lorsque je pointe mon client SOAP sur un autre serveur de savon à l'aide d'un appliance SOAP IBM, les messages de réponse contiennent l'élément SignaturEconfirmation. Je tiens à m'assurer que mon serveur de savon basé sur CXF donne les mêmes résultats que les serveurs de savon tiers, alors comment configurer mon serveur pour activer cet élément?

Voici comment j'ai configuré mon serveur:

signingProps.put(WSHandlerConstants.ACTION, "Timestamp Signature"); 
signingProps.put(WSHandlerConstants.SIGNATURE_PARTS, "{}{http://schemas.xmlsoap.org/soap/envelope/}Body ;" 
      + "{}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}" 
      + "Timestamp"); 
signingProps.put(WSHandlerConstants.SIG_KEY_ID, "IssuerSerial"); 

Properties keyStoreProps = new Properties(); 
keyStoreProps.put(LocalCryptoProvider.WS_CRYPTO_PROVIDER, 
    LocalCryptoProvider.class.getName()); 
keyStoreProps.put(LocalCryptoProvider.KEYSTORE_OBJECT, keyStore); 

WSS4JOutInterceptor outSigner = new WSS4JOutInterceptor(signingProps); 
cxfFactory.getOutInterceptors().add(new SAAJOutInterceptor()); 
cxfFactory.getOutInterceptors().add(outSigner); 
Était-ce utile?

La solution 2

J'ai trouvé la bonne réponse.

Dans la carte des propriétés transmise au WSS4JouTinterceptor et WSS4JinInterceptor ajouter enable_signature_confirmation, c'est-à-dire

signingProps.put(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION, "true" );

Cela doit être défini sur le client et le serveur ou cela ne fonctionnera pas. De plus, si vous activez la confirmation de signature sur le client, mais pas sur le serveur, le client lancera une exception.

Autres conseils

L'action doit être "ActivesignatatueConfirmation" qui s'occupera d'ajouter l'élément de confirmation de signature à la réponse.

signingProps.put(WSHandlerConstants.ACTION, "enableSignatureConfirmation");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top