1

JSP サイトを使用して、RETSIQ を使用して MRIS RETS から MLS データを取得しています。

2015 年 3 月 31 日でも問題なく動作していました。現在、RETS サーバーからデータを取得していません。

私が得るエラーメッセージは、

com.bigllc.retsiq.simpleclient.RETSClientException: 検索要求が失敗しました - コード 500 で HTTP サーバーが返されました

これは、行、

retsSession.search(path, query, null, 1, 0, handler);

実行される

4

2 に答える 2

0

応答ストリームをキャプチャして、ファイルに保存するか、ブラウザーで表示すると、HTTP 500 サーバー エラー ページが表示されていることに気付くでしょう。クッキー中毒。」

そのエラー ページには、RETS テクニカル サポートに連絡できる電子メール アドレスが含まれています。すぐに問い合わせることをお勧めします。

問題は、Apache HttpClient 3.x が Cookie を処理する方法に帰着します。retsIQ は 3.x バージョンを使用し、デフォルトは RFC 2109 準拠であり、これは 1.7 以降の RETS 仕様と一致しています。

MRIS は RFC 2109 に準拠していません。彼らのサポートと話す際に、彼らは Cookie に関する最新の RFC である RFC 6265 を引用しています。ただし、RETS 1.7 から 1.8 では、「クライアントは、RFC 2109 で指定されているように、Cookie 処理を実装する必要があります」ということが非常に明確です。さらに悪いことに、彼らは RFC 2109 への準拠を Cookie ポイズニングと見なしています。

あなたのジレンマは、retsIQ が、CookiePolicy を または のいずれかに変更する必要がある API を隠していることCoookiePolicy.NETSCAPEですCookiePolicy.BROWSER_COMPATIBILITY

3 つの選択肢があります (実行可能性と結果を制御する能力の順で):

  1. libRETS を使用するようにアプリケーションを変更します。
  2. リフレクションを使用して HttpClient の HttpState を傍受/変更し、CookiePolicy を変更します。
  3. MRIS が RFC 2109 準拠の Cookie の形式が正しくないと主張しなくなるまで待ちます。
于 2015-04-05T17:03:43.100 に答える