我有一個WCF Web服務託管在IIS中。它使用webHttpBinding。這些方法上有WebInvoke屬性,以便它們可以訪問REST風格。我可以成功地使用它們,如下所示: http://mydomain.com/MyService.svc/some/rest/style/thing 並POST到該服務的參數。
現在我想在非標準端口7777我正確配置IIS此更改爲HTTPS,拿到了證書和一切。我可以通過https://mydomain.com:7777訪問html頁面。 我添加了一個修改的WebHttpBinding添加一個安全節點像這樣:
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
</security>
我也改變了我的行爲的servicemetadata節點和刪除httpGetEnabled =「真」,並添加httpsGetEnabled =「真」
我可以訪問https://mydomain.com:7777/MyService.svc並獲得信息的屏幕。
我可以使用HTTP GET訪問https://mydomain.com:7777/MyService.svc/some/rest/style/thing,我也得到了「不允許的方法」的消息。
,但如果我試圖用POST訪問https://mydomain.com:7777/MyService.svc/some/rest/style/thing我得到一個403禁止
更新一些更多的信息
我縮小問題
我使用jQuery和通過$ .post(「http://mydomain.com/ .....」,「data」,callback,「json」)訪問webservice ..工作 現在我在做$ .post(「https://mydomain.com:7777/ .....」。 「數據」,回調,「JSON」)..這給了我一個403。 ..using螢火我看到的,而不是發送POST請求,它發送選項initially..and這就是正在給403
這可能是一個jQuery的問題
其實我有IIS監聽就好..結果是更多的jquery問題..爲什麼它發送OPTIONS動詞,而不是一個POST動詞做跨域POST時 – puffpio 2009-09-27 20:07:56