2013-10-14 1 views
0

값은 오류가 구성 오류를 보여줍니다WCF 나머지 서비스 오류 : 여전히 httpsGetEnabled = 거짓과 내가받을 내가 WCF 서비스를 가지고 다음

ServiceMetadataBehavior에서의 HttpsGetEnabled 속성이 true와 HttpsGetUrl 속성으로 설정되어

상대 주소이지만 https 기본 주소가 없습니다. https 기본 주소를 제공하거나 HttpsGetUrl을 절대 주소로 설정하십시오.

<system.serviceModel> 
<services> 
    <service name="TBServiceProvider" behaviorConfiguration="ServiceBehaviour"> 
    <endpoint address="" binding="webHttpBinding" 
       contract="ITBServiceProvider" behaviorConfiguration="web"> 
    </endpoint> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="ServiceBehaviour"> 
     <serviceMetadata httpsGetEnabled="false"/> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="web"> 
     <webHttp/> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" > 
    <baseAddressPrefixFilters> 
    <add prefix="http://www.xyz.com:8000"/> 
    </baseAddressPrefixFilters> 
</serviceHostingEnvironment> 

위의 설정은 로컬 호스트에 완벽하게 잘 작동하지만,이 서버에 업로드 할 때, 위에서 언급 한 오류가 발생합니다

내 Web.config의 설정은 다음과 같습니다. 호스팅 서버에서 서비스를 작동시키기 위해 수행 할 수있는 작업을 알려주십시오.

감사

IIS에서
+0

어디에서 서비스를 호스팅하십니까? IIS 또는 Windows 서비스? –

+0

서비스는 IIS를 통해 공유 호스팅 서버에 배치됩니다. –

답변

0

는 기본 주소 접두사가 필요하지 않습니다. 이 매개 변수를 삭제할 수 있습니다.

그런 다음 httpsGetEnabled를 httpGetEnabled로 대체해야합니다. TLS에서 서비스를 노출하지 않는 경우 httpsGetEnabled를 지정할 필요가 없습니다.

마지막으로 Internet Explorer의 서버 및 원격 컴퓨터에 표시된 서비스 스크린 샷을 추가 할 수 있습니까? TBSERVICE.svc에서

<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="Web"> 
     <webHttp/> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
<bindings> 
    <webHttpBinding> 
    <binding> 
     <security mode="None" /> 
    </binding> 
    </webHttpBinding> 
</bindings> 
<services> 
    <service name="TBSERVICe"> 
    <endpoint address="" 
       binding="webHttpBinding" 
       behaviorConfiguration="Web" 
       contract="ITBSERVICE" /> 
    </service> 
</services> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 
<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 

추가가

Factory="System.ServiceModel.Activation.WebServiceHostFactory" 

이 언급 한 설정 파일 web.config 파일에서

+0

원격 서버로 로그인 할 수 없어 인터넷에 접속할 수 없습니다. 그러나 한 가지 더 많은 이슈가 만들어졌습니다. 위에서 언급 한 해결책이 효과가있었습니다. 나는 또한 서비스를 호스팅 서버에서 작동하도록하기 위해 최소한 필요한 것들을 여기에 배치했다. –

+0

IIS에서 허용되는 인증 수준은 무엇입니까? 보안이 필요하지 않은 경우 Anonymous Authnetication을 enabled로 설정해야합니다. –

0

업데이트 서버에 웹 서비스를 호스팅 잘했다. .svc 및 web.config와 같은 프로젝트 파일이 서버 호스팅을 통해 일부 임시 저장소에서 계속 허용되는 등 변경 사항이있을 때 파일이 업데이트되지 않는다는 문제도있었습니다. 항상 atleast 2 서버에 배치하는 것을 선호합니다.

감사합니다.

관련 문제