2008-09-11 33 views
1

EDIT:webMethodsのは、実際にそれがFTPタイムアウトディレクトリが空である

当社の事業は、当社のアウトバウンド通信の大半を処理するためのwebMethods統合サーバーを使用して重要な場合は、NLST、ないLISTを使用し、そのFTP機能の葉ことを学びました必要なもの私たちはWebMethodsに固有の問題を抱えていますが、誰かが私にどのような種類のものがあるのか​​を指摘してもらえると感謝します。

私たちのパートナーのFTPサーバーの2つをポーリングすると問題なく接続できますが、空で(ファイルやサブディレクトリがない)ディレクトリでNLSTを実行するとタイムアウトになります。実際のエラーは、次のとおりです。

com.wm.net.ftpCException:[ISC.0064.9010] java.net.SocketTimeoutException:それはpub.clientの呼び出し中にスローされます

をタイムアウトしAcceptが.ftp:lsサービス。私は、同じサイトに問題のない多数のFTPクライアントでログインしました。私は、デフォルトのFTPクライアントがWindows、FileZilla、およびlftpにあるものを何でも使用しました。すべて問題なし。サーバー自体は、私が知ることのできるものと同じFTPサーバーソフトウェアではありません。 1つはMicrosoft FTPであり、もう1つは不確かですが、確かにMicrosoftではありません。

空のディレクトリでNLST応答を待っているときにFTPクライアントがタイムアウトする原因は何ですか? FTPサーバーからの目に見える応答は同じように見えますが、わからない空のディレクトリに対してNLSTがどのように応答するかに違いがありますか?

この問題は、これらの2つのサーバーで一貫しています。すべての機能は、ディレクトリ内のファイルやサブディレクトリで機能しますが、空では機能しません。

ご意見やご指摘をいただければ幸いです。

ありがとうございます!

エリックSipple

+0

WebMethods?あなたの痛みが分かります!!! – erickson

答えて

2

WebMethod ISバージョン6.5のアップデートでは、WmPRT_6-5-1_SP1、IS_6-5_SP3を試しました。

初めて完全に機能しました。

私はFTPサーバ(Debianのデフォルトのftpd)でデバッグを有効にしました。 WebMethodsのNLSTは、渡されたアクティブ/パッシブパラメータを受け入れます。

NLSTコマンドには何も特別な意味がありません。また、LISTが動作する場合は、RETR、STOR、NLSTの場合は空のディレクトリで正しく動作します。 NLSTが空でないディレクトリで動作する場合、空のディレクトリで動作するはずです。

だから私の推測では、どちらかということである:WMのバージョンがバグ鉱山は、あなたのFTPサーバーは、バグの鉱山が奇抜なプロトコル認識がない

  • ありますんしていない
  • んた

    • あなたのシステムのファイアウォールは、データがないFTPデータソケットが好きではありません。それはFTPに来るとき 他のクライアントでテストする場合

    ファイアウォールベンダーは少しわがままです...、それはWebMethodの統合サーバーが実行されている同じマシンからだことを確認してください。念のため、ここではアクティブNLST

    • クライアントがリスニングソケットを開き、クライアントがNLSTコマンドに
    • サーバーの接続先を送信
    • そのソケットの詳細をPORTコマンドを送信するためにどうするか

      をです

    • サーバーがデータソケット(この場合は0バイト)を介してリストを送信します
    • サーバーがデータソケットを閉じます

    ...とパッシブモードで

    • クライアントは
    • サーバがリスニングソケットを開き、クライアントがソケット(これを聴いに接続
    • その詳細を含むPASV応答で応答PASVコマンドを送信
    • クライアントはNLSTコマンドを送信します
    • サーバはデータソケットを介してリスティングを送信します(0バイト目)
    • サーバは
  • 2

    私はそれは同じ問題だったが、私は、Java(commons.net)で別のFTPクライアントを使用して、しばらく前に同様の症状があったかどうかわからないです。問題は、接続のアクティブ/パッシブモードが原因であることが判明しました。 すみません、私はあなたに詳細を教えることができません、それは私が覚えているすべてです...助けを願っています。

    2

    Guillermo Vasconcelosは彼の答えで正しいです。アクティブとパッシブの2つのFTPモードがあります。デフォルトのFTPモードがアクティブです。アクティブにするには、サーバーが一部のTCP/IPポートでクライアントに接続する必要があります。これはファイアウォールでは機能しません。なぜなら、このポートがブロックされている可能性があるか、またはNATが設定されたルータの背後にあり、マッピングされていない場合です。

    パッシブ(PASV)モードを代わりに使用する場合、ハングすることはありません。

    0

    私はここでメンテナンスが行われるときに明日の受動的な設定を使っていくつかの新しいテストを実行しようとしていますが、それが問題であるかどうかはわかりません。そのディレクトリにファイルまたはサブディレクトリがある場合、ディレクトリリストを取得できます。 NLSTを実行しているディレクトリが空の場合にのみ失敗します。

    アクティブ/パッシブの違いは空のディレクトリのみに現れるか、別の可能性がありますか?

    0

    FTPは、指定されたポートと1つ上の両方がファイアウォールを経由して開かれることを必要とするデータソケットを閉じます。 webMethodsのタイムアウトに問題があったのは、ファイアウォールがリターンポートを開いていなかったためです。

    ハワード

    関連する問題