Exemplo do MID Server do RESTMessageV2

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 1 min. de leitura
  • Você pode enviar uma mensagem REST de saída por meio de um MID Server.

    Ao enviar a mensagem por meio de um MID Server, você pode acessar endpoints que estão atrás de um firewall ou em uma rede privada. Todas as mensagens REST enviadas por meio de um MID Server são assíncronas.

    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);
    Nota:
    Este exemplo usa esperaParaResponse para pausar para uma resposta e, em seguida, detalha como a resposta é tratada. No entanto, ao usar executeAsync, considere processar o corpo da resposta em uma regra de negócios separada para aproveitar as vantagens da chamada assíncrona em vez de usar esperaForResponse.