2009-08-11 9 views

Répondre

1

Il y a un certain nombre de questions que vous devez vous poser:

  • comment et où comptez-vous héberger votre (auto-hébergement IIS?) Service?
  • quel protocole/liaison allez-vous utiliser? basicHttp est le plus simple, mais aussi le plus limité - il ne supporte pas beaucoup de sécurité, pas de sessions fiables etc., mais son interopérabilité avec d'autres systèmes est son grand avantage
  • ou voulez-vous exposer un service REST, de sorte que vos utilisateurs vont récupérer XML ou JSON?
  • De quel type de sécurité avez-vous besoin? Niveau de transport? Niveau du message?
  • allez-vous authentifier vos utilisateurs? Comment? Informations d'identification Windows? Certificats? Identifiant Mot de passe? Pas du tout? Où (quelle adresse et quel port) rendrez-vous publiquement votre service disponible?
  • si vous utilisez une approche SOAP: comment les clients potentiels vont-ils connaître ce service? Voulez-vous rendre les métadonnées (WSDL, XSD) disponibles en ligne (à l'adresse xxxx?wsdl)? Voulez-vous envoyer les métadonnées explicites en tant que fichiers à vos clients? Voulez-vous créer vous-même une classe de proxy client WCF et rendre cette dernière disponible au téléchargement?

Une fois que vous avez tous la réponse, tout devrait être clair :-)

Marc

+0

Merci Marc pour votre aide. –

0

Je sais qu'il est tard, mais cela pourrait aider une nouvelle SO utilisateur

Si votre service est en cours d'exécution sur IIS sans aucun problème, vous devez faire les étapes suivantes pour accéder à ce service via Internet

On suppose:

Mon nom de la solution est SearchServiceLibrary

Nom de l'interface est ISearch

Nom de la classe est Recherche et cette classe implémente l'interface ISearch

Step-1: Si votre PC est derrière un NAT, vous devez transférer le PORT pour indiquer à votre routeur l'endroit où il doit envoyer les demandes reçues pour les services Web.

Étape 2: Pour spécifier Nom de domaine/Adresse IP du serveur dans le fichier WSDL

mise à jour ou modifier la balise suivante dans l'application.fichier de configuration

<serviceMetadata httpGetEnabled="True" httpGetUrl="http://DomainName_OR_IPAddress:PORT/SearchServiceLibrary.Search.svc/basic"/> 

Étape 3: Set Savon Emplacement dans fichier app.config

Vous devez ajouter un point de fin dans votre fichier app.config, vous pouvez le faire descriptivement ou en option en utilisant EDIT WCF CONFIGURATIONS

<service name="SearchServiceLibrary.Search"> 
       <endpoint address="http://DomainName_OR_IPAddress:PORT/SearchServiceLibrary.Search.svc/basic" binding="basicHttpBinding" 
      contract="SearchServiceLibrary.ISearch"> 
      <identity> 
      <dns value="localhost" /> 
      </identity> 
    </endpoint> 

oU en utilisant l'option EDIT CONFIGURATIONS WCF

enter image description here Cela a fonctionné parfaitement pour moi.

Questions connexes