2011-11-03 74 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