クライアントのサーバーにASP.NET Webサイトをインストールしました。このサイトには、ニュースフィードを表示するためにFlashオブジェクトによって呼び出されるいくつかのWebメソッドを持つWebサービスがあります。自分のサイト(例:www.domain.com)を参照すると、フラッシュ以外はすべて正常に動作します。.NET WebサービスのWSDLで不正なURLを使用した場合の問題
問題は、.asmxを参照すると、ホストがそのネットワーク(internal.domain.com)の内部のサブドメインであることがわかります。明らかに、これはネットワークの外部からブラウズするときにパブリックIPに解決されません。これは、フラッシュオブジェクトがページに埋め込まれているために失敗するため、クライアントサイドを実行しているためです。
問題のサーバーでコンピュータ名を確認しましたが、「internal.domain.com」と一致しません。まったく異なるものです。この情報はどこから得られますか?ホストヘッダーが設定されておらず、サイトのIPが(割り当てられていない)すべてに設定されているため、IISからは送信されません。
Webサービスを強制的に特定のホストに対して実行するか、サーバー上の何かを変更して有効な公開側のホスト名に解決する必要があります。すべての助けが大いに評価されている!!
のホストヘッダーを追加することですこれは、WCFのSVCファイルまたはプレーンASMXサービスですか? –
Webサービスを最初にプロジェクトに追加した人ではないので、実際は完全にはわかりません。違いは何ですか?私が知っているのは、.asmxファイルがサイトのルートにあるWebServicesフォルダにあり、codebehind(.cs)ファイルがApp_Codeディレクトリにあることです。それはそこにあるすべてのものです。 – Keith
クライアントがWeb /ネットワークトラフィック用にリバースプロキシを使用していることがわかったので、通過していたホストヘッダーが実際のURL /ホスト名と一致しませんでした。彼らはそれを解決することができませんでしたので、私たちはWebサービスを呼び出していたフラッシュの部分を取り除かなければなりませんでした。 – Keith