VSTS2008 + C#+ .Net 3.5を使用してIISでホストされるWCFサービスを開発しています。 Add Service Reference ...を使用してクライアントからサービスを参照すると、クライアントはマシン名をIPアドレスに解決できなければなりません.WSDLはマシン名でいくつかのスキーマファイルを参照するためです。ここでWCFサービスをIPアドレスにバインドする方法
<xsd:import schemaLocation="http://testmachine1/service.svc?xsd=xsd1"
namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
、プロキシを生成するために、クライアント側からWSDLファイルを解析するために、我々は、関連IPアドレスにマシン名testmachine1を解決できるようにする必要があり、WSDLファイルの一部の例である私の質問は、何らかの理由でマシン名を(技術的な理由以外で)常時解決できないため、ホスティングIISサーバーのIPアドレスにバインドします。出来ますか?はいの場合は、誰かに助言できるかどうか感謝します。ここに私の現在のWCFのweb.configファイルには、ある私は、あなたのWCFサービスをホストされている場合は、IPアドレスで動作することを可能にするために、それを変更する方法を事前に
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="Foo.WCF.ServiceBehavior"
name="Foo.WCF.CustomerManagement">
<endpoint address="" binding="basicHttpBinding"
contract="Foo.WCF.ICustomerManagement">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="Foo.WCF.ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
おかげで、 ジョージ
こんにちはマーク、申し訳ありません。私はIPアドレス、http://123.123.123.123/service.svc?wsdlを使用してIEからWSDLにアクセスしようとしましたが、他のインポートxsdファイルを参照するためにマシン名を使用します。私の問題を再現しようとすることができます。これは私が頭痛で、マシン名をIPアドレスに解決できないため、xsdファイルをインポートできません。コメントや解決方法は? – George2
OK、興味深い - 私はこれを自分で行う必要はなかったが、私は驚いている。まず、メタデータを自分でダウンロードし、大きな静的WSDLにアセンブルし、WSDLを自動的に作成するのではなく、WebサービスのコンシューマーにWSDLを提示することです。 –
ありがとうMarc、私はそれが動作することを知っています。私の質問は、web.configから、マシン名以外のIPアドレスにバインドするオプションがあるかどうかです。 web.configにはマシン名やIPアドレスが割り当てられていないので、デフォルトでは動作しています。この行動を上書きできるかどうかはわかりません。コメントはありますか? – George2