Pas de point de terminaison de l'écoute au net.tuyau d'exception
J'ai beaucoup de services WCF et j'ai besoin d'appeler un service d'un autre. J'ai décidé d'utiliser netNamedPipeBinding
à cette fin.
De mon site web.fichier de configuration ressemble à ceci. (Je n'ai pas copié chose sans pertinence ici.)
<services>
<service name="Services.AuthorizationService" >
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" >
<endpoint
name="AuthorizationService"
address=""
binding="basicHttpBinding" contract="ServiceContracts.IAuthorizationService" />
<endpoint address="net.pipe://localhost/TestSite/AuthorizationService.svc"
binding="netNamedPipeBinding" contract="ServiceContracts.IAuthorizationService"
name="AuthorizationNamedPipeEndpoint"/>
</service>
</Services>
Le client dans la section web.fichier de configuration ressemble à ceci:
<client>
<endpoint address="net.pipe://localhost/TestSite/AuthorizationService.svc"
binding="netNamedPipeBinding" contract="ServiceContracts.IAuthorizationService" name="AuthorizationServiceNamedPipe" />
</client>
Je suis en train d'appeler l'un de l' OperationContract
s (GetDetails) comme ceci:
using (ChannelFactory<IAuthorizationService> authorizationChannel = new ChannelFactory<IAuthorizationService>("AuthorizationServiceNamedPipe"))
{
IAuthorizationService authorizationService = authorizationChannel.CreateChannel();
var response = authorizationService.GetDetails(new GetDetailsRequestMessage());
}
Lorsque j'exécute ce code, j'obtiens l'exception à la ligne, j'invoque la OperationContract GetDetails:
Il n'y a pas de point de terminaison de l'écoute au net.tuyau://localhost/TestSite/AuthorizationService.svc que peut accepter le message. Cela est souvent causé par une mauvaise adresse ou du SAVON d'action. Voir InnerException, le cas échéant, pour plus de détails.
Je ne suis pas en mesure de trouver le problème exact. Il n'y a pas de InnerException.
J'utilise Windows7 machine et IIS version est IIS7.5. Veuillez noter que je peux appeler le service à partir de mon application Winform sans aucun problème. net.tuyau de liaison est ajoutée au site web des liaisons dans l'IIS.
Comment s'assurer que le service fonctionne correctement en utilisant le net.tuyau de transport? Dans le cas de HTTP, on peut naviguer dans internet explorer et de s'assurer qu'il.
Même si j'ai donner l'adresse, il échoue.
Avez-vous un problème lorsque le service est démarré?
Sont à la fois des services en cours d'exécution sur la même machine?
Oui, ils sont en cours d'exécution sur le IIS 7.5 sur la même machine.
OriginalL'auteur Learner | 2011-08-04
Vous devez vous connecter pour publier un commentaire.
Ce problème a été résolu après l'activation de
Windows Communication Foundation Non-HTTP Activation
composant de laControl Panel —> Programs and Features, and then click "Turn Windows Components On or Off" in the left pane. Expand the Microsoft .NET Framework 3.5
.Quand il est activé et que vous utilisez la non-liaison HTTP, l'ÉTÉ est automatiquement utilisé.
J'ai fait un très de base & stupide erreur, mais il m'a aidé à apprendre beaucoup de choses. Les articles suivants m'a beaucoup aidé:
Étendre Vos Services WCF-Delà de HTTP Avec a ÉTÉ
L'hébergement de Services WCF dans l'Activation de Windows Service
La WCF a Accès refusé lorsque le consommateur essayez d'appeler un service WCF appels hébergés sur une Machine Virtuelle
Le dernier lien m'a donné un pointeur de Certificat de Serveur de configuration liés à la pourrait être à l'origine des troubles. Et j'ai été l'ajout d'un comportement (ce qui n'est pas vu dans la question) pour le service. Ce comportement est à l'aide du Serveur de Certificats.
OriginalL'auteur Learner
Nous avons été faire la même question dans SharePoint 2013. Quelque chose s'est passé lors de l'installation et de l'activation des paramètres n'ont pas été activée. Je ne suis pas sûr si c'était un problème avec l'application de la fonctionnalité de serveur ou quelque chose d'autre.
Donc merci pour le post! Nous avons été en mesure de corriger la SP 2013 problème aussi. Voici l'exception, nous étions en train de voir pour ceux qui pourraient voir également:
Système.ServiceModel.EndpointNotFoundException: Il n'y a pas de point de terminaison de l'écoute au net.tuyau://localhost/SecurityTokenServiceApplication/appsts.svc que peut accepter le message. Cela est souvent causé par une mauvaise adresse ou du SAVON d'action. Voir InnerException, le cas échéant, pour plus de détails. --->
Système.IO.PipeException: Le tuyau d'extrémité net.tuyau://localhost/SecurityTokenServiceApplication/appsts.svc' n'a pas pu être trouvé sur votre machine locale.
OriginalL'auteur Matt B.