メッセージを WCF 経由でリモート サーバーにログオンできるようにする単純なサービスを作成しようとしましたが、HTTPS を使用するライブ環境にサービスを公開するまではすべて正常に機能していました。
いくつか検索した結果、別のプロトコルを考慮して ServiceConfig を変更する必要があることがわかりました。次の 2 つの記事を組み合わせて使用しました。
構成に推奨される変更を加えたところ、VS2010 でライブ サービスを WCF 参照として追加できる状態になったようですが、IE を使用してサービスまたは mex アドレスを参照すると、一貫して受信しています。 「HTTP 400 Bad Request」エラー。
サービスの使用に関しては、正常に実行されているように見えますが、mex は IE を介して動作したくありません。
サービス自体は、負荷分散なしで IIS 6.0 を実行している Windows Server 2003 R2 Standard Edition SP2 でホストされています。
私はこの時点で本当に途方に暮れています。これをいじって3〜4日過ごしましたが、進歩がないようです. そのため、どんな助けでも大歓迎です。
問題のサーバー サービス構成の下を参照してください。
<system.serviceModel>
<services>
<service name="mycorp.Callback.SecPayService" behaviorConfiguration="mycorp.Callback.SecPayServiceBehavior">
<endpoint address="https://myserver.co.uk/SecPay/SecPayService.svc"
binding="wsHttpBinding" bindingConfiguration="TransportBinding"
contract="mycorp.Callback.ISecPayService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="mycorp.Callback.SecPayServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="TransportBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>