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.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser groovy wslite de faire la même chose (mais de travail) en beaucoup moins de code:
Croisons les doigts qui fonctionne pour vous!
J'obtiens:
Donc je pense qu'il ya quelque chose de mal avec mes diplômes...
Vous devez ajouter la ligne suivante dans le script: