1

J'utilise une référence Web générée à partir d'un fichier .wsdl. J'ai également examiné l'exemple de service Web Amazon, mais je n'ai pas réussi à le faire fonctionner. Ci-joint un exemple de demande de savon.Comment signer numériquement une demande de savon en utilisant Visual Studio 2008

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 
<wsse:Security 
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"> 
<wsse:BinarySecurityToken valueType="wsse:X509v3" 
encodingType="wsse:Base64Binary" id="X509Token"> 
MIIEZzCcA9cgwaABQfd86afd2g... 
</wsse:BinarySecurityToken> 
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
<ds:SignedInfo> 
<ds:CanonicalizationMethod> 
Algorithm="http://www.w3.org/2001/10/xml-enc-c14n#"/> 
</ds:CanonicalizationMethod> 
<ds:SignatureMethod Algorithm=" 
http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> 
<ds:Reference URI="#MsgBody"> 
<ds:Transforms> 
<ds:Transform 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> 
</ds:Transforms> 
<ds:DigestMethod 
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> 
<ds:DigestValue>DJbchm5gk...</ds:DigestValue> 
</ds:Reference> 
</ds:SignedInfo> 
<ds:SignatureValue>LyLsF0pi4wPu...</ds:SignatureValue> 
<ds:KeyInfo> 
<wsse:SecurityTokenReference> 
<wsse:Reference URI="#X509Token"/> 
</wsse:SecurityTokenReference> 
</ds:KeyInfo> 
</ds:Signature> 
</wsse:Security> 
</soap:Header> 
+0

Je suppose que vous utilisez C# et WCF - dans ce cas, jetez un oeil à cette question d'ailleurs sur SO: http://stackoverflow.com/questions/1342566 – razlebe

+0

Utilisez-vous WSE? À un moment donné, l'exemple Amazon.com ne prenait pas en charge WCF, seulement WSE. –

Répondre

0

Quelle langue utilisez-vous? Si c'est dans .NET, vous pouvez utiliser le AWS SDK for .NET fourni par Amazon, qui supprime toute la peine d'implémenter le WSDL vous-même.