Beispiel für eine direkte SOAPMessageV2

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Sie können eine ausgehende SOAP-Nachricht direkt an den Endpunkt senden.

    In diesem Beispiel sendet das Skript eine SOAP-Nachricht mit der Anforderung eines Aktienkurses und wartet auf eine Antwort. Wenn keine Antwort vom Webservice-Provider vorliegt oder der angegebene Datensatz der SOAP-Nachricht nicht verfügbar ist, gibt das Skript einen Fehler aus, der in diesem Beispiel mithilfe des try-catch-Blocks gehandhabt wird.

    var requestBody;
    var responseBody;
    var status;
    var sm;
    try{
    	sm = new sn_ws.SOAPMessageV2("StockQuote", "GetQuote");  // 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.setHttpTimeout(10000) //In Milli seconds. Wait at most 10 seconds for response from http request.
    
    	response = sm.execute();//Might throw exception if http connection timed out or some issue with sending request itself because 	of encryption/decryption of password and stuff
    	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);