2009-05-31 6 views
0

重複:これはまったく同じ質問です。まったく同じ人からIssue with Incorrect URLs in the WSDL of a .NET Web Serviceと同じですが、まったく同じ回答です。これを閉じて、もう一方とマージしてみましょう。.NET Webサービス - ホスト名が正しく解決されません。


クライアントのサーバーにASP.NET Webサイトをインストールしました。このサイトには、ニュースフィードを表示するためにFlashオブジェクトによって呼び出されるいくつかのWebメソッドを持つWebサービスがあります。自分のサイト(例:www.domain.com)を参照すると、フラッシュ以外はすべて正常に動作します。

問題は、.asmxを参照すると、ホストがそのネットワーク(internal.domain.com)の内部のサブドメインであることがわかります。明らかに、これはネットワークの外部からブラウズするときにパブリックIPに解決されません。これは、フラッシュオブジェクトがページに埋め込まれているために失敗するため、クライアントサイドを実行しているためです。

問題のサーバーでコンピュータ名を確認しましたが、「internal.domain.com」と一致しません。まったく異なるものです。この情報はどこから得られますか?ホストヘッダーが設定されておらず、サイトのIPが(割り当てられていない)すべてに設定されているため、IISからは送信されません。

Webサービスを強制的に特定のホストに対して実行するか、サーバー上の何かを変更して有効な公開側のホスト名に解決する必要があります。すべての助けが大いに評価されている!!

答えて

0

通常、Webサービスのホスト名は、.NETで消費されるときにweb.configで設定されます。それらがフラッシュで消費されているときは、フラッシュファイルを調べる必要があります。 (私の推測では、それはまだSIT環境のために設定されているということです。

+0

FlashファイルがWebサービスをどのように消費するかに関わらず、IEの.ASMXを直接参照して、メソッドの場合、ホストはinternal.domain.comとして表示されます。私はweb.configでオーバーライドすることができますか?もしそうなら、どこ? – Keith

+0

私はこれまで、私が消費しているサービスのいくつかを見てきました。主な問題は、WSDLドキュメントが間違ったドメイン名を押し出していたことでした。私はそれが問題のどこにあるのかを見るためにそれをチェックするだろう。どちらの方法でも、クライアント(フラッシュ)がサービスに接続するように強制することができなければなりません。 – Bluephlame

0

私はこの詳細についてはわかりませんが、WCFに関するこの苦情を見ました。 IISのホストヘッダー。

IISは、ホスト名をASP.NETまたはWCFに渡し、ホストヘッダーを渡します。構成されていない場合は、そのヘッダーを送信しないと仮定します。クライアントが要求にそのヘッダーを設定しても、 "ホスト名"として使用されます。

+0

おかげでこれを言います。私はwww.domain.comとdomain.comを含むようにIISでホストヘッダーを設定しようとしましたが、これをテストすると、単にサイトを参照しようとすると "Bad hostname"が表示されました。その問題を修正できた場合、内部ドメイン名として解決されるWebサービスのホスト名の問題を解決できると思いますか? – Keith

+0

それかもしれません。繰り返しますが、私はこれを読んだ記事を見つけることができません。誰かがこの質問をSO(WCFの場合)に依頼していましたが、これが私が答えを見た場所かどうかは分かりません。 –

関連する問題