2011-07-28 8 views
0

サービスのメタデータをダウンロードしようとすると、Webサービスが自分のサーバー上のIISでホストされています。エラーが発生しました:リモート名を解決できませんでした:win2008x64(サーバー名) 。サーバー上では、2つのバインディング、1つのhttp、もう1つはhttpsです。
どうすればこの問題を解決できますか?

EDIT:
WCF Webサービスメタデータにコンピュータ名が含まれています

The document was understood, but it could not be processed. 
    - The WSDL document contains links that could not be resolved. 
    - There was an error downloading 'http://win2008x64:1668/Service.svc?xsd=xsd0'. 
    - The remote name could not be resolved: 'win2008x64' 
Metadata contains a reference that cannot be resolved: 'http://89.x.x.x:166x/Service.svc?wsdl'. 
Metadata contains a reference that cannot be resolved: 'http://89.x.x.x:166x/Service.svc?wsdl'. 
If the service is defined in the current solution, try building the solution and adding the service reference again. 

事前にありがとうございます。

+0

a:クライアントはサーバーに名前でpingを実行できるか? b:ブラウザでエンドポイントを参照するとどうなりますか? –

+0

はい、もちろんpingでき、ブラウザのエンドポイントにアクセスできますが、このページに表示されている内容: svcutil.exe https:// win2008x64:1667/Service.svc?wsdl win2008x64は問題です。 ip。 – croisharp

答えて

2

私はこの種の問題に対処するためにcodeplexのWcfExtrashow to use)プロジェクトを使用しました。これは、サーバーが何らかの種類のプロキシの背後にある場合にも便利です。ロケーション属性を定義して、サービスへのURLを上書きすればよい:

<endpointBehaviors> 
    <behavior name="Sample.WsdlSampleEndpointBehavior"> 
     <wsdlExtensions location="http://127.0.0.1/Sample/WsdlSample.svc" /> 
    </behavior> 
    </endpointBehaviors> 
1

サーバのIPアドレスを使用してwsdlを生成してみてください。外部のIP(whatsmyip.org)を使用している公開サーバーの場合は、DNSの問題のみになります。

+0

あなたのサーバのIPアドレスを使用してwsdlを生成してみてください。 どうしますか? クライアント側では、プロキシクラスをip経由で生成します。 – croisharp

+0

https:// win2008x64:1667/Service.svc?xsd = xsd1、これは私のwsdlで見つかりました。どのようにwin2008x64をipに変更しますか? – croisharp

+0

先日、この他のビジネスでWCFサービスが公開され、wsdlファイルにservernameが含まれていたのと同じようなシナリオがありました。私はservernameを使用するとwsdlはWCFのデフォルトの動作だと思う(このスレッドによれば)http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/ec88418b-0177-44e2-bbd0-0daa85e34615 /)。私はサーバのipアドレスでsvcutilを使いました。うまくいきました。私が間違っているなら私を訂正してください。しかし、本当の問題はサーバーの名前を公開しないことですか? – Raghu

関連する問題