2011-09-01 8 views
1

Nous essayons de déployer un site Web qui utilise un service WCF - tout a fonctionné en test - mais lorsque nous l'avons mis en ligne (pointant vers le même service WCF) via une adresse IP externe, il a cessé de fonctionner .Problèmes Déploiement d'un service WCF

Lorsque nous coller l'URL dans un navigateur affiche la page web de base - mais quand nous essayons via l'application, il nous donne une erreur (voir ci-dessous)

section config ...

<client> 
    <endpoint address="http://123.321.123.321:8731/N3/WebsiteIntegrationService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWebsiteIntegrationService" contract="AccessService.IWebsiteIntegrationService" name="WSHttpBinding_IWebsiteIntegrationService"> 
    <identity> 
     <userPrincipalName value="[email protected]" /> 
     <dns value="webservername"/> 
    </identity> 
    </endpoint> 
</client> 

erreurs ...

Exception relancée à [0]: à System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) à System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageDa ta & MSGDATA, le type Int32) à System.ServiceModel.ICommunicationObject.Close (TimeSpan timeout) 1.System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout) at System.ServiceModel.ClientBase à System.ServiceModel.ClientBase 1.Close() à System.ServiceModel.ClientBase`1.System.IDisposable.Dispose()

et ..

l'objet de communication, System.ServiceModel.Channels.ServiceChannel, ne peut pas être utilisé pour la communication car il est dans l'état Faulted.
System.ServiceModel.CommunicationObjectFaultedException Void HandleReturnMessage (System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
trace de pile du serveur:
à System.ServiceModel.Channels.CommunicationObject.Close (TimeSpan délai d'attente )

... mais le même service fonctionne toujours via notre application de test local - on peut même utiliser l'adresse IP du revêtement extérieur.

Quelqu'un peut-il me diriger dans la bonne direction s'il vous plaît? L'adresse de point de terminaison doit être celle à laquelle le service est installé (c'est-à-dire utiliser le port sur la machine, pas le port externe défini dans la table nat du routeur)

+0

Pouvez-vous expliquer ce que vous entendez par la redirection de port, est 123.321.123.321 la machine réelle ou un proxy? Quelle est votre configuration de sécurité pour le service? – Dominik

+0

Nous avons notre hébergeur pour ouvrir le bon port, donc nous n'utilisons plus le port, mais nous avons toujours des problèmes. –

+0

Avez-vous un accès RDP au serveur sur lequel vous déployez le site? Pouvez-vous appeler l'URL du service à partir de là via le navigateur? – Dominik

Répondre

0

J'ai eu une situation similaire avec une ferme Web où les appels externes sont effectués via https, mais en interne l'équilibreur de charge appelle la machine réelle dans la batterie via http. Pour que cela fonctionne, tous les paramètres de configuration du service (comportements, point de terminaison) utilisent des adresses http car c'est ainsi qu'ils sont appelés.