2013-04-19 2 views
0

IIS7.5에서 호스팅되는 WCF 4.5 서비스가 있습니다. 서비스에서 Net 3.5 이상 클라이언트의 경우 netTcpBinding을 사용하고 Silverlight 5 클라이언트의 경우 basicHttpBinding을 사용합니다. 이 바인딩의 주소는 구체적입니다 (address = "SL"). ServiceMetadata "httpGetEnabled"가 true로 설정됩니다. 이제 BIRT에서이 서비스를 사용하고 싶습니다. 그래서 wsdl 파일을 얻으려고합니다. IIS가 요청을 거부하기 때문에 어떤 URL을 사용해야하는지 알 수 없습니다. 다음 IIS에서 호스팅되는 다중 바인딩이있는 서비스에서 wsdl을 가져올 수 없습니다.

구성 파일의 인터 휴식 부분 :

<system.serviceModel> 
<serviceHostingEnvironment> 
    <serviceActivations> 
    <add factory="My.CustomServiceHostFactory" relativeAddress="~/My.AdminService.svc" service="My.AdminService" /> 
    </serviceActivations> 
</serviceHostingEnvironment> 
<services> 
    <service name="My.AdminService"> 
    <endpoint address="SL" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_SL" 
    name="BasicHttpBinding_IAcadmin" contract="My.AdminService.IAcadmin" /> 
    <endpoint address="" binding="netTcpBinding" bindingConfiguration="" 
    contract="My.AdminService.IAcadmin"> 
     <identity> 
     <dns value="localhost" /> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" 
    contract="IMetadataExchange" /> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" httpGetUrl=""/> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

서비스는 다음 URL에 게시 : 내가 제대로 일을 이해하고있어 경우,

http://localhost/My.AdminService 

지금 WSDL 주소는 다음과 같습니다.

http://localhost/My.AdminService/My.AdminService.svc/SL/?wsdl 

이 URL은 IIS에서 404 오류로 거부됩니다.

이것은 IIS 문제가 아닌 것 같습니다. 어쨌든 올바른 URL을 사용하고 있습니까?

감사합니다.

답변

0

http://localhost/My.AdminService/SL을 사용해 보셨습니까? 이 폴더가 절절합니까? 평범한 HTML을 넣으면 브라우저에서 열 수 있습니까?

+0

예 시도해 보니 오류 404.0이 반환됩니다. 폴더가 존재하지 않습니다. 파일을 만들고 파일을 넣으면 브라우저에서 열 수 있습니다. http : //localhost/My.AdminService/My.AdminService.svc에 대한 WCF 호출이 성공합니다. –

+0

@omatrot : 문제가 무엇인지 알아 냈습니까? 나는 같은 문제가있다 – David

+0

@ David : 불행히도, 아니. –

관련 문제