La WCF: Ajout de Nonce pour élément usernametoken

Je suis en train d'essayer de vous connecter à un service web, écrit en Java, mais il y a quelque chose que je ne peux pas comprendre.

En utilisant WCF et un customBinding, presque tout semble aller pour le mieux, sauf une partie du message de SAVON, car il manque le Nonce et a Créé une partie des nœuds.
Évidemment, je suis en manque de quelque chose, donc si vous pouviez me pointer dans la bonne direction, ce serait très apprécié.

Voici la liaison personnalisée:

<binding name="CustomHTTPBinding">
    <security includeTimestamp="false" authenticationMode="UserNameOverTransport" defaultAlgorithmSuite="Basic256" requireDerivedKeys="True"
              messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
    </security>
    <textMessageEncoding maxReadPoolSize="211" maxWritePoolSize="2132" messageVersion="Soap11"
                         writeEncoding="utf-8"/>
    <httpsTransport />
</binding>

Et voici la partie pertinente du message:

<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <o:UsernameToken u:Id="uuid-c306efd1-e84c-410e-a2ad-1046b368582e-1">
        <o:Username>
            <!-- Removed-->
        </o:Username>
        <o:Password>
            <!-- Removed-->
        </o:Password>
    </o:UsernameToken>
</o:Security>

Et c'est comment il devrait ressembler à:

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
 <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-25763165">
    <wsse:Username>..</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">..</wsse:Password>
    <wsse:Nonce>6ApOnLn5Aq9KSH46pzzcZA==</wsse:Nonce>
    <wsu:Created>2009-05-13T18:59:23.309Z</wsu:Created>
 </wsse:UsernameToken>
</wsse:Security>

La question est donc: Comment ai-je pu introduire le Nonce et a Créé les éléments à l'intérieur de la partie sécurité?

  • Avez-vous trouver une solution? Je serais intéressé de savoir.
  • Dans la fin, nous avons utilisé WSE 2, afin de contourner les problèmes que nous avons d'avoir, au lieu de la WCF. Là, nous avons ajouté une stratégie personnalisée pour appliquer l'élément usernametoken à la demande de service et que c'était à elle que je pense.
InformationsquelleAutor Adam Vigh | 2009-05-22