Beispiel für RESTMessageV2 über einen MID-Server

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 1 Minute Lesedauer
  • Sie können eine ausgehende REST-Nachricht über einen MID-Server senden.

    Durch das Senden der Nachricht über einen MID-Server können Sie auf Endpunkte zugreifen, die sich hinter einer Firewall oder innerhalb eines privaten Netzwerks befinden. Alle über einen MID-Server gesendeten REST-Nachrichten sind asynchron.

    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);
    Hinweis:
    Dieses Beispiel verwendet waitForResponse, um eine Pause für eine Antwort zu bewirken, und beschreibt dann, wie die Antwort behandelt wird. Erwägen Sie bei der Verwendung von executeAsync jedoch die Verarbeitung des Antworttexts in einer separaten Business Rule anstatt waitForResponse zu verwenden, um den asynchronen Aufruf zu nutzen.