2011-12-13 24 views
2

wcfサービスがロードされており、wsdlリンクがhttp経由で機能しています。 httpsを試すと、サービスページがロードされます(ssl certはokなどです)。 私の問題は、wsdlへのリンクが、sslで要求されたときに403を返すということです。HTTPS経由のWCF WSDLが返されます。403 Forbidden

http://www.codemeit.com/wcf/wcf-wsdl-xsdimport-schemalocations-link-to-local-machine-name-not-domain-name-while-hosted-in-iis.html

http://www.jstawski.com/archive/2008/05/01/wcf-wsdl-location-address-with-https.aspx

http://gavinmckay.wordpress.com/2009/03/24/howto-fix-wcf-host-name-on-iis/

は、しかし、私のHTTPとHTTPSのURLが同じである(マイナスのhttp:

は私がホストヘッダーに関連する記事の数を発見しました/ https)、私のホストヘッダーは問題ではないようです。それらはwsdl(ドメイン名ではなくマシン名で)に間違ったURLを生成するように思われるが、私はそれが私の問題だとは思わない(私のドメイン名は正しい)。

+0

サーバー側の証明書が設定されていますか? –

+0

httpsでアクセスするとサービスページが表示されますか? – Rajesh

+0

はい、証明書が設定されています。はい、httpsで表示されます – Roger

答えて

1

これは競合するエラーであることが判明しました。 Visual Studio Development Serverを使用した開発では、iisの代わりにこのエラーが発生しました。

ServiceMetadataBehaviorのHttpsGetEnabledプロパティはtrueに設定され、HttpsGetUrlプロパティは相対アドレスですが、httpsベースアドレスはありません。 httpsベースアドレスを指定するか、HttpsGetUrlを絶対アドレスに設定します。

これで、httpsGetUrlをweb.configに追加することができました。プロダクションでは、それをすべて削除すると、たとえそれが目的のURLと一致していたとしても、問題が修正されました。

関連する問題