0

Swift Automation Interface Specを使用して、BIC ファイルのダウンロードを自動化しています

すべてOKのシナリオは正常に機能しますが、無効な認証情報を使用してテストする単純なエラー シナリオでは、Java サンプル クライアント アプリケーションのコードは終了コード 0 を返します。

このコードの何が問題になっていますか?

/* * 2007 年 3 月 2 日に作成 * SWIFT scrl */

public class BICDownloader {
public static void main(String[] args) { ... try { ... // メソッドの実行。statusCode = client.executeMethod(メソッド);

  if (statusCode != HttpStatus.SC_OK) {
   // Handling HTTP error 404 and 500 not covered in this example
   // All http error cause in this example exit with status 1.
   System.err.println("Method failed: " + method.getStatusLine()+
   "\n" + method.getResponseBodyAsString());
   System.out.println(method.getRequestCharSet()+
  "\n" + method.getRequestHeader("").toString());
   exitcode = 1; 
  }
  else {
 ...
  }      
 } catch (HttpException e) {
  exitcode = 2;
  System.err.println("Fatal HTTP Error: " + e.getMessage());
  e.printStackTrace();
 } catch (IOException e) {
  exitcode = 3;
  System.err.println("Fatal I/O error: " + e.getMessage());
  e.printStackTrace();
 } finally {
  // Release the connection.
  method.releaseConnection();
  System.exit(exitcode);
 } 
 System.out.println("Dowload done");  

} }

4

1 に答える 1

0

問題は非表示の NullPointerException が原因であり、問​​題の原因はコード ブロックにあります。

        System.out.println(method.getRequestCharSet()+
        "\n" + method.getRequestHeader("").toString());
        exitcode = 1;

私が選択した解決策は、命令 method.getRequestHeader("").toString() を Arrays.toString(method.getRequestHeaders()) に変更し、念のため } catch (Exception e) 句を追加することです。

于 2010-08-24T10:52:04.393 に答える