L'ajout de SAVON implicite des en-têtes WSDL

Ma question est semblable à cela. Comment Passer d'en-Tête Soap Quand le fichier WSDL N'est pas le Définir? , Mais ils sont différents.

Pour un service web que j'utilise, toutes les méthodes ont besoin d'authentification qui est envoyé en texte clair à l'intérieur d'un en-tête SOAP. Cependant, mon WSDL ne comprennent pas les informations d'en-tête soap. J'ai une plate-forme personnalisée de l'outil que je dois utiliser pour générer le code à partir du fichier WSDL. Depuis l'en-tête info n'est pas disponible, je suis incapable d'utiliser la classe générée directement - je ne veux pas modifier manuellement le code pour accueillir l'en-tête.

J'ai essayé de spécifier l'en-tête SOAP dans le fichier WSDL, mais je n'ai pas réussi à obtenir la bonne espaces de noms. Le WSDL est ici https://stage.totalcheck.sensis.com.au/service/webservice?wsdl et l'en-tête SOAP est comme suit:

    <soapenv:Header>
        <wsse:Security>
            <wsse:UsernameToken>
                <wsse:Username>username</wsse:Username>
                <wsse:Password>password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
   </soapenv:Header>

Quelqu'un peut m'aider? Merci!

wsse ressemble le préfixe utilisé normalement pour les WS-Security. Aussi, depuis de SAVON services sont destinés à être auto-description, je suis à une perte pour trouver une raison valable pour les en-têtes ne sont pas définis dans le fichier WSDL.
Que c'est agréable. Mais comme je l'ai dit, je ne veux pas toucher à la génération automatique de classe. Je suis juste en modifiant ce seulement pour générer la classe.
Auto-généré classe est une classe partielle. Peut-être vous pouvez ajouter l'en-tête à une autre classe. Il ne change pas lorsque l'auto-fichiers générés sont générés à nouveau.

OriginalL'auteur Vid L | 2011-04-20