피들러를 통해 내 WCF 클라이언트 요청을 라우팅하는 동안 문제가 발생했습니다. WCF 서비스가 IPv4에서 수신 대기하도록 구성되었지만 IPv6이 사용 가능할 때 문제가있는 피들러에 대한 참조 만 발견했습니다. 그러나 내 문제는 비슷하지만 내 문제는 아닌 것 같습니다.EndpointNotFoundException '대상 컴퓨터가 적극적으로 거부했습니다.'피들러를 통해 연결
IPv4 포트에서 호스팅되는 서비스에 연결하는 중에 문제가 발생했습니다. 내 바인딩이 피들러 프록시를 사용하도록 구성된 경우 다음 예외가 내 WCF 클라이언트에 의해 발생합니다. Fiddler의 옵션에서 IPv6 지원을 사용하지 않도록 설정하고 바인딩을 제대로 사용하도록 프록시를 구성했는지 확인했습니다.
예외 보고서 :
System.ServiceModel.EndpointNotFoundException: Could not connect to http://campus.services.ecollege-labs.com/Entity/Foundation/v1.0/EducationalPartnerSvc . TCP error code 10061: No connection could be made because the target machine actively refused it 10.181.3.23:8888. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 10.181.3.23:8888 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream() --- End of inner exception stack trace ---
Server stack trace: at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream() at System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout) at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout) at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at IMS.EnterpriseServices.Facades.Campus.EducationalPartner.EducationalPartnerSvc.FindByClientString(String clientString) at IMS.EnterpriseServices.Facades.Campus.EducationalPartner.EducationalPartnerSvcClient.FindByClientString(String clientString) in C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades.Campus\Service References\EducationalPartner\Reference.cs:line 428 at IMS.EnterpriseServices.Facades.Campus.CampusEntityFacade.GetEPID(String clientString) in C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades.Campus\CampusEntityFacade.cs:line 37 at IMS.EnterpriseServices.Transformation.Domain.TransformationSvc.TransformCreateGroupRequest(createGroupRequestMessage message) in C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Transformation.Domain\TransformationSvc.cs:line 106 at IMS.EnterpriseServices.Facades.IMSFacade.TransformCreateGroupRequest(createGroupRequestMessage imsMessage) in C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades\IMSFacade.cs:line 113 at IMS.EnterpriseServices.Domain.TransformationAndEnrichmentCoordinator.ProcessCreateGroupRequestMessage(createGroupRequestMessage message) in C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Domain\TransformationAndEnrichmentCoordinator.cs:line 140 at IMS.EnterpriseServices.Facades.IMSFacade.<>c__DisplayClass1.b__0(Object o) in C:\P4\HEDI\AS2-dev-dotnext-campus-dev\AS\HEI\Src\CAS\IMS.EnterpriseServices.Facades\IMSFacade.cs:line 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>
어쩌면 어쩌면 질문하지 않을 지 모르지만 * 피 들러를 지나가는거야? –
성공하면 'telnet 10.181.3.23 8888' 할 수 있습니까? 직접 구성하여 서비스에 연결할 수 있습니까? – Paolo
@ 존 Skeet : 필라델피아를 통과하지 않으면 의사 소통이 잘됩니다. 또한 초기 요청을 보내고 여러 모의 서비스를 호스팅하는 SoapUI가 피 들러를 통해 정상적으로 통신한다는 점도 유의해야합니다. – jrista