EndpointNotFoundException "impossible de se connecter" parce que "l'ordinateur cible l'a expressément refusé de" Connexion par le biais de Fiddler
Je rencontre un problème en essayant de route mon WCF demandes des clients par le biais de Violoneux. J'ai cherché sur le web haute et basse, et n'a trouvé que deux références à Fiddler avoir des problèmes lorsque des services WCF sont configuré pour écouter sur IPv4, mais IPv6 est activé. Cependant, alors que mon problème est similaire, il ne semble pas être mon problème.
Je rencontre des problèmes de connexion aux services hébergés sur IPv4 ports. L'exception suivante est jeté par mon WCF clients lors de mes liaisons sont configurés pour utiliser le proxy fiddler. J'ai désactivé la prise en charge d'IPv6 dans un violon options, et fait en sorte que mes fixations sont correctement configurés pour utiliser le proxy.
Rapport d'Exception:
Système.ServiceModel.EndpointNotFoundException:
Impossible de se connecter à
http://campus.services.ecollege-labs.com/Entity/Foundation/v1.0/EducationalPartnerSvc.
TCP code d'erreur 10061: Pas de connexion
pourrait être faite car la cible
machine a expressément refusé
10.181.3.23:8888. ---> Système.Net.WebException: Impossible de
se connecter au serveur distant --->
Système.Net.Les Sockets.Exception Socketexception: Aucun
la connexion peut être établie car l'
machine cible activement refusée
10.181.3.23:8888 au Système.Net.Les Sockets.Socket.DoConnect(Point De Terminaison
endPointSnapshot, SocketAddress
socketAddress) à
Système.Net.ServicePoint.ConnectSocketInternal(Boolean
connectFailure, Socket s4, Socket s6,
Socket& socket, IPAddress& adresse,
ConnectSocketState état, IAsyncResult
asyncResult, Int32 délai d'attente, à l'Exception&
exception) --- Fin de l'intérieure
trace de pile d'exception --- à
Système.Net.HttpWebRequest.GetRequestStream(TransportContext&
contexte) à
Système.Net.HttpWebRequest.GetRequestStream()
au
Système.ServiceModel.Les canaux.HttpOutput.WebRequestHttpOutput.GetOutputStream()
--- Fin de l'exception interne trace de la pile ---Serveur de trace de pile: à
Système.ServiceModel.Les canaux.HttpOutput.WebRequestHttpOutput.GetOutputStream()
au
Système.ServiceModel.Les canaux.HttpOutput.Envoyer(TimeSpan
délai d'attente)
Système.ServiceModel.Les canaux.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message
message, plage de Temps (timeout) à
Système.ServiceModel.Les canaux.RequestChannel.Demande(Message
message, plage de Temps (timeout) à
Système.ServiceModel.Répartiteur.RequestChannelBinder.Demande(Message
message, plage de Temps (timeout) à
Système.ServiceModel.Les canaux.ServiceChannel.Appel(String
action, Boolean oneway,
ProxyOperationRuntime opération,
Object[] ins, Object[] sorties, la plage de Temps
délai d'attente)
Système.ServiceModel.Les canaux.ServiceChannelProxy.InvokeService(IMethodCallMessage
appel de méthode, ProxyOperationRuntime
fonctionnement)
Système.ServiceModel.Les canaux.ServiceChannelProxy.Invoke(IMessage
message)Exception renvoyé à [0]:
Système.Moment de l'exécution.L'accès distant.Les procurations.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg) à
Système.Moment de l'exécution.L'accès distant.Les procurations.RealProxy.PrivateInvoke(MessageData&
msgData, type Int32) à
IMS.EnterpriseServices.Les façades.Campus.EducationalPartner.EducationalPartnerSvc.FindByClientString(String
clientString) à
IMS.EnterpriseServices.Facades.Campus.EducationalPartner.EducationalPartnerSvcClient.FindByClientString(Chaîne
clientString)
C:\P4\HEDI\AS2-dev-dotnext-campus-dev\\HEI\Src\AC\IMS.EnterpriseServices.Les façades.Campus\Service
Références\EducationalPartner\De Référence.cs:ligne
428 à
IMS.EnterpriseServices.Les façades.Campus.CampusEntityFacade.GetEPID(String
clientString)
C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades.Campus\CampusEntityFacade.cs:ligne
37
IMS.EnterpriseServices.La Transformation.Domaine.TransformationSvc.TransformCreateGroupRequest(createGroupRequestMessage
message)
C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Transformation.Domain\TransformationSvc.cs:ligne
106 au
IMS.EnterpriseServices.Les façades.IMSFacade.TransformCreateGroupRequest(createGroupRequestMessage
imsMessage)
C:\P4\HEDI\AS2-dev-dotnext-campus-dev\\HEI\Src\AC\IMS.EnterpriseServices.Façades\IMSFacade.cs:ligne
113 à la
IMS.EnterpriseServices.Domain.TransformationAndEnrichmentCoordinator.ProcessCreateGroupRequestMessage(createGroupRequestMessage
message)
C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Domain\TransformationAndEnrichmentCoordinator.cs:ligne
140 à
IMS.EnterpriseServices.Les façades.IMSFacade.<>c__DisplayClass1.b__0(Objet
o)
C:\P4\HEDI\AS2-dev-dotnext-campus-dev\\HEI\Src\AC\IMS.EnterpriseServices.Façades\IMSFacade.cs:ligne
135
De Configuration De Liaison:
<customBinding>
<!-- Secured, WS-Security message signing and encryption, custom binding for IMS endpoints -->
<binding name="customHttpSecuredNoWSA">
<security
defaultAlgorithmSuite="Basic128Rsa15"
authenticationMode="MutualCertificate"
securityHeaderLayout="Lax"
includeTimestamp="false"
keyEntropyMode="CombinedEntropy"
messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireSignatureConfirmation="false"
requireSecurityContextCancellation="false"
allowSerializedSigningTokenOnReply="true">
<localServiceSettings detectReplays="false" />
</security>
<textMessageEncoding
messageVersion="Soap11"
writeEncoding="utf-8">
<readerQuotas
maxArrayLength="1048576"
maxStringContentLength="4194304"
maxBytesPerRead="4194304"
maxNameTableCharCount="4194304"
/>
</textMessageEncoding>
<httpTransport
maxBufferPoolSize="4194304"
maxBufferSize="1048576"
maxReceivedMessageSize="1048576"
proxyAddress="http://my.host.name:8888"
useDefaultWebProxy="false"
/>
</binding>
</customBinding>
Pouvez-vous
telnet 10.181.3.23 8888
avec succès? Pouvez-vous vous connecter, il vous le configurez pour aller directement au service?Skeet: la Communication fonctionne très bien lorsque je ne passe pas par Fiddler. Il convient également de noter que SoapUI, qui est l'envoi d'une demande initiale et l'accueil de plusieurs moquer de services, communique amende par fiddler.
Comme il s'avère, en essayant de telnet n'. Je suis un peu surpris par cela, comme je l'ai mentionné au pigeon d'argile, SoapUI fonctionne correctement avec les proxy fiddler (il est configuré pour utiliser 127.0.0.1:8888 que son serveur proxy). Des idées pourquoi telnet manquerait ainsi?
Je soupçonne une erreur DNS ou un problème de firewall puis depuis 127.0.0.1 est une) l'adresse de bouclage et b) peu de chances d'être derrière un pare-feu. 10.181.3.23 peut avoir le pare-feu windows bloquant vous puisque c'est sans doute la principale connexion LAN OU peut-être pas la bonne adresse IP pour mon.de l'hôte.nom (qui est ce que vous mettez dans votre fichier de config)
OriginalL'auteur jrista | 2010-06-28
Vous devez vous connecter pour publier un commentaire.
Grâce à des commentaires de Jon Skeet et Paolo, j'ai été en mesure de résoudre ce problème. Il semble que quelque chose (peut-être un pare-feu) est interférer avec les connexions à mon nom d'hôte/adresse ip. À l'aide de 127.0.0.1 fonctionne, cependant il doit être spécifié comme suit dans la configuration WCF:
proxyAddress="http://127.0.0.1.:8888"
Remarque la période supplémentaire à la fin de l'adresse de bouclage 127.0.0.1. Sans la période, la WCF a une sorte de codé en dur cochez cette case pour empêcher l'utilisation d'un serveur proxy à votre boucle locale. (Pourquoi Microsoft serait explicitement construire dans un codées en dur exclusion de la boucle locale de l'utilisation du serveur proxy est au delà de moi, mais au moins, cette astuce fonctionne.)
OriginalL'auteur jrista