130 votes

Exemple de client de savon de travail

J'essaie de trouver un exemple simple (ha) de SOAP en JAVA avec un service fonctionnel, car tous ceux que je trouve ne fonctionnent pas.

J'ai essayé ceci un de ce exemple mais ça ne fonctionne pas, il me demande de mettre un slash avant mais il est là et rien ne se passe.

Quelqu'un connaît-il des liens vers des exemples de SOAP que je peux télécharger/demander et utiliser ?

Merci pour votre aide.

1 votes

Chercher de la documentation à ce sujet sur 2019 est encore plus difficile....

-2voto

Salman Points 1

Pour l'authentification de base de WSDL, le code de réponse accepté soulève une erreur. Essayez plutôt ce qui suit

Authenticator.setDefault(new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("username","password".toCharArray());
    }
});

0 votes

Cela ne devrait-il pas être "password".toBase64()" ou quelque chose comme ça ? C'est le même bloc de code que vous utiliseriez pour javax.email .

-5voto

user3662456 Points 217
String send = 
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
    "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n" +
    "        <soap:Body>\n" +
    "        </soap:Body>\n" +
    "</soap:Envelope>";

private static String getResponse(String send) throws Exception {
    String url = "https://api.comscore.com/KeyMeasures.asmx"; //endpoint
    String result = "";
    String username="user_name";
    String password="pass_word";
    String[] command = {"curl", "-u", username+":"+password ,"-X", "POST", "-H", "Content-Type: text/xml", "-d", send, url};
    ProcessBuilder process = new ProcessBuilder(command); 
    Process p;
    try {
        p = process.start();
        BufferedReader reader =  new BufferedReader(new InputStreamReader(p.getInputStream()));
        StringBuilder builder = new StringBuilder();
        String line = null;
        while ( (line = reader.readLine()) != null) {
                builder.append(line);
                builder.append(System.getProperty("line.separator"));
        }
        result = builder.toString();
    }
    catch (IOException e)
    {   System.out.print("error");
        e.printStackTrace();
    }

    return result;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X