Envoyer SAVON avec Groovy ou Java

J'ai rouges et essayer les multiples messages SOAP. J'ai essayé de les coller dans ma solution mais pas moyen d'obtenir la réponse.

- Je utiliser ce code Groovy à envoyer une requête SOAP et obtenir du SAVON de réponse. Et ça marche pour les 2 services web. J'ai utilisé SoapUI pour écrire mon XML et le fichier XML que j'utilise ici est de travailler sur SoapUI, je reçois la réponse du serveur.

Maintenant mon travail XML et mon travail Groovy script (pour d'autres services), ne travaillent pas ensemble et je ne sais pas comment est le problème. Je ne suis pas un dev. J'ai une erreur SSL mais je suis sûr qu'il n'y a pas de certificat SSL sur ce serveur et avec SoapUI sans SSL c'est le travail et le fournisseur m'a dit il n'y a pas de certificat pour avoir.

Pouvez-vous m'aider et voir où est le problème ? Merci beaucoup à l'avance.

Salutations.
Antoine

Le script Groovy :

//Send data
URL url = new URL(url);
HttpURLConnection conn = url.openConnection();
conn.setDoOutput(true);
if( soapaction != null ) conn.setRequestProperty( "SOAPAction", soapaction );
conn.setRequestProperty( "Content-Type", "text/xml" );
String authorizationString = "Basic " + (username + ":" +  password).bytes.encodeBase64();
conn.setRequestProperty ("Authorization", authorizationString);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(xml);
wr.close();

//Get the response
String response;
InputStream responseStream;
try {
    responseStream = conn.getInputStream();
    success = 1;
} catch( IOException e ) {
    success = 0;
    if( conn.getResponseCode() == 500 ) {
        responseStream = conn.getErrorStream();
    } else throw e;
}
response = responseStream.getText("utf-8");
responseStream.close();
return response;

Un certain nombre de paramètres pour ce script:

XML

soapaction : getAnimals

URL :https://test.anis.ch/HTDB.WebService/AnimalImportService.asmx

mot de passe : test

nom d'utilisateur : 613731

XML:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlso.../soap/envelope/" xmlns:urn="urn:tvd:heimtierdatenbanksql:webservice:animalimportmessages:v1" xmlns:urn1="urn:tvd:heimtierdatenbanksql:webservice:animalimportdata:v1">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:getAnimals>
         <urn:getMessage>
            <urn1:Header>
               <urn1:P_Praxisnummer>371066</urn1:P_Praxisnummer>
               <urn1:P_Account>613731</urn1:P_Account>
               <urn1:P_PIN>test</urn1:P_PIN>
            </urn1:Header>
            <urn1:Body>
               <!--1 or more repetitions:-->
               <urn1:KZ_Kennzeichnung>756000100230345</urn1:KZ_Kennzeichnung>
            </urn1:Body>
         </urn:getMessage>
      </urn:getAnimals>
   </soapenv:Body>
</soapenv:Envelope>
  • Il y a toujours un cert avec le protocole HTTPS. Envisager l'utilisation de JAX-WS.
InformationsquelleAutor user2434211 | 2013-11-12