내 솔루션의 서비스 참조 폴더에서 .asmx
URL을 참조하여 외부 웹 서비스를 사용하는 WPF/WCF 응용 프로그램이 있습니다. 서버 측에서는WCF 서비스에서 "수신하는 엔드 포인트가 없습니다 ..."
, I는 다음과 같이 web.config
에서 작성한 :
<binding name="ExtractService"
closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:01:00" sendTimeout="00:10:00"
allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288"
maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8"
transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
maxArrayLength="2147483647" maxBytesPerRead="4096"
maxNameTableCharCount="2147483647" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<client>
<endpoint name="ExtractService"
address="https://example.com/DataExtractService.asmx"
binding="basicHttpBinding" bindingConfiguration="ExtractService"
contract="ExtractService" />
</client>
또한 I 위
web.config
와 같은 클라이언트 측에서
app.config
엔트리를 갖는다.
개발 환경에서 실행하면 모든 것이 잘 작동합니다. 내 클라이언트와 웹 서버 (WCF)가 같은 시스템에 있기 때문일 수 있습니다.
하지만 테스트 서버에 앱을 배포하면 아래 오류가 발생하기 시작합니다. 이 경우 클라이언트가 내 컴퓨터에 있고 서버 (WCF)가 다른 컴퓨터에 있습니다.
메시지 : HandlingInstanceID : 71a85aef-dbb0-4c28-9035-57f8b7526ee0 형 'System.ServiceModel.EndpointNotFoundException'의 예외가 발생하고
잡혔다.https://example.com/DataExtractService.asmx에서 메시지를 수락 할 수있는 수신 끝 점이 없습니다. 이것은 종종 잘못된 주소 또는 SOAP 조치로 인해 발생합니다. 자세한 내용은 InnerException을 참조하십시오.
이 문제를 해결하기 위해 클라이언트 측에서 app.exe.config
파일에 동일한 구성을 복사하려고 시도했지만 작동하지 않습니다.
어디에서 클라이언트 구성이 누락 되었습니까? 또한 서버의 bin 폴더에 app.config를 복사했지만 도움이되지 않았습니다.
감사합니다. 일치하는 계약 등으로 서버 태그를 정의했습니다. 그러나 여전히 동일한 오류가 발생합니다. 또한 개발 환경에서 어떻게 작동하는지 궁금합니다. –
기본 엔드 포인트 (WCF 4.0+)가 "서버 측 구성에 섹션이 없으면 연결하려는 엔드 포인트가 노출되지 않았습니다." –
Tim
@Tim : 당신 말이 맞을 것 같습니다. ..... 나는 그걸 잊어 버리고 있습니다. 나는 분명히 내 말단을 명시 적으로 정의하는 것보다 더 혼란스럽고 "예기치 않게 놀라움"이라고 생각합니다 ..... –