2016-04-01 11 views
0

WCFを使用してWebサービスアプリケーション(IISでホストされている)を作成しました。クライアント側でサービス参照を作成しようとすると、生成されたアドレスはローカルネットワーク上のサーバー名(server1.corporate.darkbond.comなど)になります。クライアントのWSDLが実際の公開名(manager.darkbond.comなど)を参照するようにしたいと思います。各更新後にクライアント構成ファイルを編集するのではなく、WSDLを使用してサーバー側でこれを行う方法はありますか?WSDLによって提示されるホスト名URLをどのように変更しますか?

+0

アドレスは、WSDLを提供するサービスのアドレスに基づいて生成されると考えられます。クライアント側でサービスのアドレスを変更できるはずです。 – Tim

+0

この[質問](http://stackoverflow.com/questions/5007270/how-to-change-wsdl-url-from-internal-machine-name-to-public)の回答を参照してください。推奨ソリューションを適用すると、WSDLドキュメントのサービスロケーションは、クライアントがWSDLにアクセスするために使用したものと一致します。 –

+0

この例では、ポートの指定を変更する方法を示しています。 URLの変更例が見つかりませんでした。私は何が欠けていますか? –

答えて

1

生成されたWSDLのアドレスを、ロードバランサのホスト名などを使用してクライアントがWSDLにアクセスするために使用したアドレスと一致させる場合は、useRequestHeadersForMetadataAddressを追加したserviceBehaviorを使用します。

<serviceBehaviors> 
    <behavior name="myBehaviour"> 
     <useRequestHeadersForMetadataAddress /> 
     <serviceMetadata httpGetEnabled="true"/> 
    </behavior> 
</serviceBehaviors> 
+0

それはトリックでした。ありがとうございました。 –

関連する問題