Exemple de MID Server RESTMessageV2
Vous pouvez envoyer un message REST sortant via un MID Server.
En envoyant le message via un MID Server, vous pouvez accéder aux points de terminaison qui se trouvent derrière un pare-feu ou dans un réseau privé. Tous les messages REST envoyés via un MID Server sont asynchrones.
var requestBody;
var responseBody;
var status;
var sm;
try{
sm = new sn_ws.RESTMessageV2("Yahoo Finance", "get"); // Might throw exception if message doesn't exist or not visible due to scope.
sm.setBasicAuth("admin","admin");
sm.setStringParameter("symbol", "NOW");
sm.setStringParameterNoEscape("xml_data","<data>test</data>");
sm.setMIDServer('mid_server_name');
response = sm.executeAsync(); // Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.
response.waitForResponse(60); // In seconds. Wait at most 60 seconds to get response from ECC Queue/Mid Server //Might throw exception timing out waiting for response in ECC queue.
responseBody = response.haveError() ? response.getErrorMessage() : response.getBody();
status = response.getStatusCode();
} catch(ex) {
responseBody = ex.getMessage();
status = '500';
} finally {
requestBody = sm ? sm.getRequestBody():null;
}
gs.info("Request Body: " + requestBody);
gs.info("Response: " + responseBody);
gs.info("HTTP Status: " + status);
Remarque :
Cet exemple utilise
waitForResponse pour mettre en pause une réponse, puis détaille la façon dont la réponse est gérée. Toutefois, lorsque vous utilisez executeAsync, envisagez de traiter le corps de la réponse dans une règle métier distincte pour tirer parti de l’appel asynchrone plutôt que d’utiliser waitForResponse.