2011-11-03 71 views
0

我有一個奇怪的問題,我創建了一個RESTful WCF服務,並將它託管在Godaddy上。它通過HTTP GET的和POST的運行與預期相符flawlessley:在Godaddy託管的WCF服務上使用HTTPS POST - 404錯誤失敗

http://www.mydomain.com/myservice.svc/helloworld 

但是,如果我改變它通過HTTPS訪問相同的服務,通過簡單地改變URL,它給了我一個404錯誤說,它不能找到服務:

https://www.mydomain.com/myservice.svc/helloworld 

奇怪的是,如果我叫了WSDL,像這樣使用HTTPS:

https://www.mydomain.com/myservice.svc?wsdl 

它的工作原理,並返回我的WSDL。它看起來好像一旦你在使用https時只在服務的末尾加上了一個平靜的動詞,它就會失敗。

有沒有其他人遇到過這個問題?我看到很多關於配置IIS以將SSL證書綁定到WCF端口的文檔,但是我不能看到這是問題,因爲它會在自己調用時找到服務文件,但由於某些原因,端點似乎不會映射就像他們應該這樣。與godaddy通過HTTPS訪問RESTful WCF服務的人?

回答

1

我有同樣的問題,並通過在Web.config中添加<security>部分我<binding>元素固定它:

<bindings> 
    <webHttpBinding> 
     <binding name="WebHttpREST"> 
      <!-- ADD THIS --> 
      <security mode="Transport"> 
       <transport clientCredentialType="None" proxyCredentialType="None" /> 
      </security> 
      <!-- --> 
     </binding> 
    </webHttpBinding> 
</bindings> 

僅供參考,這將導致你的服務,爲HTTPS工作,但它將不再工作HTTP。

+0

這也適用於我 - 謝謝! – TransientMole

+0

我應該把這個放在哪裏?在GoDaddy網站或我的PHP REST應用程序中的某處? – abhijitcaps

+0

@abhijitcaps在您的WCF服務的Web.config文件中,大概是您的GoDaddy網站。 – Keith