demande de rappel immédiat

Comment définir le "Namespace" dans un service WCF (supprimer la référence à tempuri.org)

Posted by chic Tuesday, September 27, 2011 9:02:00 AM
Rate this Content 0 Votes

Lorsque vous créez un service WCF, par défaut le Namespace XML (xmlns) est positionné a la valeur “http://tempuri.org”. Cette valeur est visible dans le fichier WSDL. Normalement, tous les Web Services XML doivent utiliser un Namespace unique afin que les applications clientes les distinguent les uns des autres. Le Nom “tempuri.org” est utilisable pendant la phase de développement, mais lors du déploiement, il faut mettre un nom permanent et unique. En effet toutes les méthodes d’un service sont repérées par rapport à leur espace de nom (“Vocabulaire XML”). Donc, si vous laissez le nom par défaut, vous ne pourrez pas avoir proprement 2 méthodes dans 2 services différents qui portent le même nom.

Pour modifier ce nom “http://tempuri.org” vous devez procéder comme suit :

1 – Dans le contrat de service, définissez la propriété Namespace en tant qu’attribut du constructeur de l’objet ServiceContrat

[ServiceContract(Namespace = "http://monservice.silogix.fr")]
public interface IMyService

2 – Dans la classe de mise en oeuvre du service, créer un attribut “ServiceBehavior” avec la propriété “Namespace”

[ServiceBehavior(Namespace = "http://monservice.silogix.fr")]
class MyService : IMyService

3 – dans tous les bindings, définissez la propriété "”bindingNamespace”

<endpoint binding="basicHttpBinding" bindingNamespace=http://monservice.silogix.fr....

Une fois ces 3 modifications faites, vous aurez un service avec un Namespace XML propre, c’est à dire définit à ce que vous souhaitez.

- Chic

Comments are closed on this post.