2013-08-06 181 views
0

工作,我有以下設置WCF終端無法與IIS託管

<services> 
    <service name="HelloWCFServiceClass.clsHelloWCFServiceClass" > 
     <host> 
     <baseAddresses> 
      <add baseAddress="http://localhost:6789/IISHosting/HelloWorldISSHostedService.svc"/> 
     </baseAddresses> 
     </host> 
     <endpoint address="" binding="wsHttpBinding" contract="HelloWCFServiceContract.IHelloWCFServiceContract" /> 
     <endpoint address="/test" binding="basicHttpBinding" 
         contract="HelloWCFServiceContract.IHelloWCFServiceContract"/> 
    </service> 
</services> 

我可以打開

http://{ServerName}:6789/HelloWorldISSHostedService.svc 

但我發現了一個錯誤

該網頁無法找到

而試圖通過端點訪問這樣

http://{ServerName}:6789/HelloWorldISSHostedService.svc/test 

回答

0

您使用BasicHttpBinding - 這是一個SOAP綁定,你不能只使用瀏覽器瀏覽到該端點。

您需要使用諸如SoapUI之類的東西來測試您的SOAP服務。

如果你想有一個服務,它在你的瀏覽器可測試(僅通過導航到一個URL),您需要使用webHttpBinding代替(REST服務)

+0

我改變basicHttpBinding的到的wsHttpBinding,但我不能打開http:// {服務器名}:6789/HelloWorldISSHostedService.svc /測試。獲取「HTTP 400錯誤請求」我只想將多個端點添加到我的WCF應用程序 – user2589824

+0

@ user2589824:如果您在IIS中託管,那麼您在配置文件中的基址無用 - * real *服務地址由IIS主機名,* .svc文件所在的虛擬目錄以及'* .svc'文件本身的名稱。 –

+0

@ user2589824:** plus:**即使您在config *中的基地址會工作 - 您所瀏覽的URL與您所配置的URL不匹配:您的配置文件具有「.../IISHosting/.....'而你使用的URL缺少'IISHosting'部分.... –

0

如果您的服務是一個MVC項目的一部分,您需要配置路由表