代码之家  ›  专栏  ›  技术社区  ›  jrista

EndpointNotFoundException“无法连接”,因为“目标计算机主动拒绝了它”通过Fiddler进行连接

  •  4
  • jrista  · 技术社区  · 14 年前

    我遇到了一个问题,试图通过Fiddler路由我的WCF客户端请求。我在网上到处搜索,发现只有两个关于Fiddler的引用在WCF服务配置为在IPv4上侦听时出现问题,但IPv6已启用。然而,虽然我的问题是类似的,它似乎不是我的问题。

    异常报告:

    无法连接到 http://campus.services.ecollege-labs.com/Entity/Foundation/v1.0/EducationalPartnerSvc . TCP错误代码10061:没有连接 机器主动拒绝了 连接到远程服务器---> 连接可能是因为 目标机器主动拒绝了它 10.181.3.23:8888在System.Net.Sockets.Socket.DoConnect(端点 endPointSnapshot、SocketAddress 连接故障,插座s4,插座s6, 连接套接字状态,IAsyncResult 例外)--内部结束 异常堆栈跟踪---在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& 上下文)在 System.Net.HttpWebRequest.GetRequestStream() 在

    服务器堆栈跟踪:在 System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream() 在 System.ServiceModel.Channels.HttpOutput.Send(时间跨度 超时)在 消息,TimeSpan超时) System.ServiceModel.Channels.RequestChannel.Request(消息 消息,TimeSpan超时) System.ServiceModel.Dispatcher.RequestChannelBinder.Request(消息 消息,TimeSpan超时) 行动,布尔单向, 对象[]ins,对象[]outs,时间跨度 超时)在 方法调用,ProxyOperationRuntime 操作)在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage)调用 信息)

    System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage) reqMsg,IMessage retMsg)在 msgData,Int32类型)at IMS.EnterpriseServices.Facades.Campus.EducationalPartner.EducationalPartnerSvc.FindByClientString(字符串 客户端字符串)位于 IMS.EnterpriseServices.Facades.Campus.EducationalPartner.EducationalPartnerSvcClient.FindByClientString(字符串 clientString)在 C:\P4\HEDI\AS2 dev dotnext campus dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades.campus\Service下一个校园 References\EducationalPartner\Reference.cs:行 428英寸 clientString)在 C:\P4\HEDI\AS2 dev dotnext campus dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades.campus\CampusEntityFacade.cs:行 37分 消息)在 106在 imsMessage)输入 113英寸 IMS.EnterpriseServices.Domain.TransformationAndEnrichmentCoordinator.ProcessCreateGroupRequestMessage(createGroupRequestMessage 消息)在 C:\P4\HEDI\AS2 dev dotnext campus dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Domain\TransformationAndEnrichmentCoordinator.cs:行 140英寸 IMS.EnterpriseServices.Facades.IMSFacade.<&燃气轮机;c\u DisplayClass1.b\u 0(对象 C:\P4\HEDI\AS2 dev dotnext campus dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades\IMSFacade.cs:行 135

    <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>
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   jrista    14 年前

    多亏了乔恩斯凯特和保罗的评论,我才得以解决这个问题。似乎有什么东西(可能是防火墙)正在干扰到我的主机名/ip的连接。使用127.0.0.1是可行的,但是必须在WCF配置中指定如下:

    proxyAddress="http://127.0.0.1.:8888"

    请注意127.0.0.1环回地址末尾的额外句点。如果没有句点,WCF会进行某种硬编码检查,以防止在本地环回中使用代理服务器(我不明白为什么微软会在使用代理服务器时显式地构建一个硬编码的排除本地环回的方法,但至少这个方法是有效的。)