Exemple de serveur MID RESTMessageV2

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 1 minute de lecture
  • Vous pouvez envoyer un message REST sortant via un Serveur MID.

    En envoyant le message via un MID Server, vous pouvez accéder à des points de terminaison situés derrière un pare-feu ou dans un réseau privé. Tous les messages REST envoyés via un serveur MID 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 manière dont la réponse est traité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.