Utiliser un script Java rapide en ligne de commande

Vous pouvez compiler et exécuter ce mini-programme directement sur le serveur. Il tente d'ouvrir une connexion HTTPS vers Multigest en utilisant le même environnement Java que votre Tomcat.

1. Créez le fichier de test

Créez un fichier nommé TestConnexion.java sur votre serveur avec le code suivant :

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class TestConnexion {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("Veuillez spécifier l'URL de Multigest en argument.");
            return;
        }

        String url = args[0];
        System.out.println("Tentative de connexion Java vers : " + url);

        try {
            HttpClient client = HttpClient.newHttpClient();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(url))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            System.out.println("Code de statut HTTP : " + response.statusCode());
            System.out.println("Connexion réussie ! Le certificat est validé par Java.");

        } catch (Exception e) {
            System.out.println("\n--- ÉCHEC DE LA CONNEXION JAVA ---");
            e.printStackTrace();
        }
    }
}

2. Exécutez le test avec le Java de votre Tomcat

Il est crucial d'utiliser le même binaire Java et le même keystore que votre instance Tomcat.

Bash

# Compilation
/chemin/vers/votre/jdk/bin/javac TestConnexion.java

# Exécution
/chemin/vers/votre/jdk/bin/java TestConnexion https://url-de-votre-multigest:port/chemin_api

Analyse du résultat :

  • Si le code retourne Connexion réussie ! : La couche réseau et le certificat SSL sont parfaitement validés par la JVM. Le problème de requêtes API se situe alors au niveau du code de votre application ou d'une configuration propre à Tomcat (comme un proxy ou un paramètre réseau applicatif).
  • Si vous obtenez une exception PKIX path building failed : Cela confirme à 100 % que le Java utilisé ne trouve pas ou ne valide pas le certificat de Multigest dans son keystore.