J'utilise WCF pour parler à un service Web Java. Ce service Web a une méthode appelée Authentifier qui renvoie un ID de session. Chaque demande à ce service Web doit contenir cet ID de session dans l'en-tête SOAP. Si une session expire, l'appel de n'importe quelle méthode entraîne le retour d'une exception SoapException. Je voudrais:Renvoyer automatiquement un message dans WCF
- Intercept chaque appel fait au service Web,
- Vérifiez le message de réponse à cette exception particulière
- Si trouvé, appelez Authentifier à nouveau pour obtenir une nouvelle ID session, et envoyer le message d'origine à nouveau avec ID de session mis à jour
J'ai googlé cela en vain. La chose la plus proche que j'ai pu trouver m'a indiqué que je pourrais accomplir ceci sur la couche de canal, mais n'a donné aucun exemple de code du tout.
Notez que je veux faire dans la classe proxy, pas dans le code qui appelle la classe proxy. De cette façon, les appelants de la classe proxy n'ont pas à s'inquiéter de la ré-authentification automatique. J'hérite du proxy généré automatiquement et je fais la configuration WCF par programme.
cherchez-vous 'IClientMessageInspector' –