locked
WEB サービスのエラー RRS feed

  • 質問

  • お世話になっております。

    Silverlight から WEB サービスを経由しサーバーにて
    DB (Microsoft SQL Server 2008) にアクセス後、結果を返す処理があり、
    その時に以下のエラーが発生し、改善方法がわからずに困っております。

    ------------------------------------------------------------------------
    [HttpWebRequest_WebException_RemoteServer]

    引数: NotFound

    デバッグ用のリソース文字列は利用できません。キーや引数に関する情報が問題の診断に役立つ場合があります。
    http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.60531.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer を参照してください。
    ------------------------------------------------------------------------

    環境:Microsoft Visual Studio 2010 C#、Silverlight4、.NET Framework 4、IE7、IE8
    構成:
     ① WEB アプリ(ASP.NET)のプロジェクトに WEB サービスを追加し、サーバー(Windows 2008 Server)に配置しています。
     ② Silverlight プロジェクトはサービス参照追加で ASP.NET の WEB サービスを参照しています。
     ③ Silverlight は WEB アプリ側のページに OBJECT タグで埋め込まれ表示されます。

    詳細:
     上記の構成で、シンクライアントから Silverlight が
     埋め込まれたページを表示すると、最初に述べているエラーが発生します。

     Silverlight側 では WEB サービスプロキシ作成し、ASync (非同期) でサーバーに要求を送り、
     サーバーは要求を受け、DB からデータを取得し、DB の値を結果として返します。
     Silverlight 側ではサーバーからの処理終了通知時に正常終了であれば、取得した DB の情報を用い色々と処理します。
     この処理は Silverlight 側のタイマーにより 1 秒に一回の間隔で行われます。
     非同期でサーバーに要求する為、要求を送り、サーバーから処理結果通知が来るまではタイマーは停止します。
     
     ただ、サーバーへの要求が全て失敗するわけではなく、ページ表示時の数秒は WEB サービス経由で
     サーバーで処理した DB の値を正しく取得できているのです。
     また、エラーをしばらく繰り返した後、また数秒間正常に処理が行われ、
     WEB サービスから期待通りの値が取得されます(失敗と成功が一定周期毎に発生します。)
     負荷の問題も懸念し、1 秒のタイマーを 10 秒にしたりしましたが、結果は変わりませんでした。

     シンクライアント以外の通常の PC であれば常に正常に処理が行われます。
     シンクライアントは二台あり、OS が Windows Embedded Standard 7 と Windows Embedded Standard 2009 です。
     両機とも(両機のみ)同じ現象となりますので、環境に依存した問題のような気がします。 

     ちなみにシンクライアントのスペックは以下のとおりです。 

     http://h50146.www5.hp.com/products/desktops/thinclient/t5740e/specs/

     何か情報などありましたら、ご教示願います。

    2011年7月1日 6:06

回答

  • こんにちは、がんばろうSilverlight さん。

    エラーメッセージで検索してみましたが、エラーメッセージからすぐに原因や回避策がみつかる可能性が低いと思われますので、ちょっとずつ調べていく必要がありそうですね。
    ご自身ですでに問題の切り分けをされているように、正常なパターンと問題が発生するパターンがあるのであれば、それぞれのネットワーク キャプチャを比較してみたり、エラーの詳細に何かヒントになるものがないかなどを確認してみてはいかがでしょうか。

    IIS 7. 0 での HTTP ステータス コード
    http://support.microsoft.com/kb/943891/ja

    以下の資料は、同じようなエラーについてのものです。調査方法などが書いてあります。
    原因の調査には、fiddler や netmon などのネットワーク トレースをキャプチャするツールを利用することが有効なようです。

    HttpWebRequest_WebException_RemoteServer message when using non-development Silverlight client
    http://forums.silverlight.net/forums/t/133801.aspx

    ご参考まで。
                                                                      
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海


    2011年7月7日 4:47

すべての返信

  • こんにちは、がんばろうSilverlight さん。

    エラーメッセージで検索してみましたが、エラーメッセージからすぐに原因や回避策がみつかる可能性が低いと思われますので、ちょっとずつ調べていく必要がありそうですね。
    ご自身ですでに問題の切り分けをされているように、正常なパターンと問題が発生するパターンがあるのであれば、それぞれのネットワーク キャプチャを比較してみたり、エラーの詳細に何かヒントになるものがないかなどを確認してみてはいかがでしょうか。

    IIS 7. 0 での HTTP ステータス コード
    http://support.microsoft.com/kb/943891/ja

    以下の資料は、同じようなエラーについてのものです。調査方法などが書いてあります。
    原因の調査には、fiddler や netmon などのネットワーク トレースをキャプチャするツールを利用することが有効なようです。

    HttpWebRequest_WebException_RemoteServer message when using non-development Silverlight client
    http://forums.silverlight.net/forums/t/133801.aspx

    ご参考まで。
                                                                      
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海


    2011年7月7日 4:47
  • 山本様

    いつも大変お世話になっております。

    ご回答、ありがとうございました。

     お教え頂いたサイトで、同様に悩んでいる方がいらっしゃいましたが、

    結局解決できなかったようで、「Silverlight5に期待する」というコメントで締められておりました。

     Silverlight5でWebサービスがどこまで改善されるか調査したところ、

     ○WCFおよびRIAサービス:Silverlight 5には、WS-Trustサポートが含まれるようになりました。 RIAサービスが改善され、複合型のサポート、より良いMVVMのサポート、改善されたコード生成のカスタマイズが含まれるようになりました。Silverlight 5のネットワーク・スタックでも、低いレイテンシのネットワークシナリオがサポートされるようになり、レスポンスのいいアプリケーションシナリオが可能になりました。(CodeZine参照)

     http://codezine.jp/article/detail/5629

     と記載されておりました。

    ダメ元でSilverlight 5 Beta 開発者向けランタイムをインストールしたところ、現象が解決されました。

    おそらく、現象の発生している端末のレイテンシが、他の端末と比べると遅いことが想定され、

    それが起因していると考えられます。

    これ以上の調査は難しいため、使用する端末の変更またはSilerlight5の提供開始を待つこととします。

    ありがとうございました。

    2011年7月8日 9:02