[WCF] Appeler un service WCF depuis un client Java
Pour un projet récent, j’ai eu besoin de développer un service WCF qui utilise le Membership Provider d’ASP.NET. Pour cela, il est nécessaire d’utiliser le binding de type wsHttpBinding.
Tout ce passait très bien jusqu’à ce qu’on me prévienne que mon service n’était pas accessible depuis un client Java. Après avoir effectué quelques tests et recherché sur Internet, j’ai découvert que le problème semblait venir de la version de SOAP utilisée.
En effet, le binding de type wsHttpBinding utilise la version 1.2 de SOAP. Cependant, Java n’est pas en mesure (d’après mes recherches donc libre à vous de me corriger si je dit une bétise
) de gérer les versions de SOAP supérieures à la version 1.1: il y a donc une incompatibilité entre Java et le binding wsHttpBinding.
Pour pallier à ce problème, vous avez plusieurs possibilités:
- Créer un service “proxy”, utilisant le binding de type basicHttpBinding, qui va appeler votre service
- Intercepter les Headers SOAP et y insérer des informations de logins/mots de passe, qui seront ensuite réutilisées coté service pour authentifier l’utilisateur
- Etc.
Pour mon cas, j’ai opté pour la deuxième solution mais libre à vous de choisir celle qui vous intéresse/convient le mieux 
A+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :