0

wsHttpBindingWebサービスで使用している次のバインディングがあります。

<binding name="wsHttpConfig">
  <security>
    <transport clientCredentialType="None"/>
  </security>
</binding>

問題は、クライアントがHttpまたはHttpsのいずれかを使用して接続できるようにすることです。SSLを使用するように要求したいと思います。以下を追加してみました:

<system.web.extensions>
  <scripting>
    <webServices>
      <authenticationService enabled="true" 
         requireSSL = "true"/>
    </webServices>
  </scripting>
</system.web.extensions>

しかし、効果はありませんでした。クライアントは引き続きHttpに接続できます。次に、IIS7 SSL設定で[SSLが必要]を確認し、クライアント証明書の無線を[承認]に設定しました。現在、サービスを表示しようとすると、「WSHttpBindingをバインドしているエンドポイントのスキームhttpに一致するベースアドレスが見つかりませんでした。登録されているベースアドレススキームは[https]です。」というエラーが表示されます。

このエラーを修正する方法を正確に知っている人はいますか?私は過去3時間、500の異なる組み合わせ(500ではありませんが、リストするには多すぎます)を試していましたが、何も実行できませんでした。

4

2 に答える 2

3

Google、Bing (Bingle、Yangle?) からこれに出くわした人は、テスト環境で安全な AuthenticationService を実行しようとしている他の人を助けるためにまとめられたブログ投稿を見てください。

http://www.lukepuplett.com/2010/07/setting-up-wcf-over-ssl-on-iis-7x.html

そして成功を祈る!

于 2010-07-19T21:10:52.607 に答える
2

このmsdnの投稿を読んだことがありますか?

どちらかを変更する必要があります

binding = "mexHttpBinding"

binding = "mexHttpsBinding"

または、httpsベースアドレスに加えてhttpベースアドレスを追加します。(現在、メタデータエンドポイントはhttpsではなくhttpでホストされようとしており、そのベースアドレスはありません。)

于 2009-06-11T02:49:23.253 に答える