重複:これはまったく同じ質問です。まったく同じ人から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サービスを強制的に特定のホストに対して実行するか、サーバー上の何かを変更して有効な公開側のホスト名に解決する必要があります。すべての助けが大いに評価されている!!
FlashファイルがWebサービスをどのように消費するかに関わらず、IEの.ASMXを直接参照して、メソッドの場合、ホストはinternal.domain.comとして表示されます。私はweb.configでオーバーライドすることができますか?もしそうなら、どこ? – Keith
私はこれまで、私が消費しているサービスのいくつかを見てきました。主な問題は、WSDLドキュメントが間違ったドメイン名を押し出していたことでした。私はそれが問題のどこにあるのかを見るためにそれをチェックするだろう。どちらの方法でも、クライアント(フラッシュ)がサービスに接続するように強制することができなければなりません。 – Bluephlame