2010-08-24 2 views
0

J'automatisant le téléchargement du fichier BIC, en utilisant le Swift Automation Interface SpecJava Swift BICDownload exitcode = 0

Le tout scénario ok fonctionne bien, mais dans un simple scénarios d'erreur test avec des informations d'identification non valides du code dans l'exemple de client java application renvoie un code de sortie de 0.

Quel est le problème avec ce code?

/* * Créé le 2 mars 2007 * S.W.I.F.T. s.c.r.l. */

BICDownloader public class {
public static void main (String [] args) { ... try {// ... la méthode d'exécution. statusCode = client.executeMethod (méthode);

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"); 

} }

Répondre

0

Le problème est causé par un NullPointerException caché, la cause du problème se trouve dans le bloc de code

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

La solution que je choisis est en train de changer l'instruction method.getRequestHeader (""). toString() à Arrays.toString (method.getRequestHeaders()) et en ajoutant la clause} catch (Exception e) juste au cas où.

Questions connexes