RESTResponseV2 - 범위가 지정됨, 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기11분
  • RESTResponseV2 API는 JavaScript 코드에서 아웃바운드 REST 메시지로 리턴된 데이터를 사용할 수 있는 메소드를 제공합니다.

    RESTResponseV2 객체는 RESTMessageV2 메소드 execute()executeAsync()에 의해 반환됩니다.

    범위가 지정된 애플리케이션 또는 전역 범위 내에서 이 API를 사용할 수 있습니다.

    이 API는 sn_ws 네임스페이스에서 실행됩니다.

    RESTResponseV2 - getAllHeaders()

    중복 헤더를 포함하여 응답에 포함된 모든 헤더를 반환합니다.

    표 1. 매개변수
    이름 유형 설명
    없음
    표 2. 반환
    유형 설명
    List<GlideHTTPHeader> 응답에 포함된 헤더 목록입니다. 각 헤더는 헤더 이름과값을 포함하는 GlideHTTPHeader 객체로 표시됩니다.

    다음 코드 예제에서는 REST Table API를 호출한 다음 응답에 있는 모든 헤더를 나열하는 방법을 보여 줍니다.

    var request = new sn_ws.RESTMessageV2();
    request.setEndpoint('http://<SN_Instance_host>/api/now/table/incident');
    request.setHttpMethod('GET');
    
    request.setBasicAuth('username', 'password');
    request.setRequestHeader("Accept", "application/json");
    var res = request.execute();
    if (res.getStatusCode() != 200) {
      gs.info('Bad Request');
    }
    
    var headers = res.getAllHeaders();
    for(var i in headers){
      gs.info(headers[i].name + ': ' + headers[i].value);
    }

    응답 헤더

    X-Is-Logged-In: true
    X-Transaction-ID: e3003cb2db8c
    X-Total-Count: 66
    X-Content-Type-Options: nosniff
    Pragma: no-store,no-cache
    Cache-Control: no-cache,no-store,must-revalidate,max-age=-1
    Expires: 0
    Content-Type: application/json;charset=UTF-8
    Date: Fri, 14 May 2021 16:05:10 GMT
    Connection: close
    Server: ServiceNow
    JSESSIONID=5041870726ADADFAB2EE2BF8E7E01596; Path=/; HttpOnly; SameSite=None; Secure
    Set-Cookie: glide_user=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
    Set-Cookie: glide_user_session=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
    Set-Cookie: glide_user_route=glide.f1aa2015b3fa5fa8dfe567386cde8fd5; Max-Age=2147483647; Expires=Wed, 01-Jun-2089 19:19:17 GMT; Path=/; HttpOnly; SameSite=None; Secure
    Set-Cookie: glide_session_store=AF003CB2DB8CF8103DD9C39D139619C7; Max-Age=1800; Expires=Fri, 14-May-2021 16:35:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
    Set-Cookie: BIGipServerpool_ddershem=2643023626.45630.0000; path=/; Httponly; Secure; SameSite=None; Secure
    Strict-Transport-Security: max-age=63072000; includeSubDomains

    RESTResponseV2 - getBody()

    REST 응답 본문의 내용을 가져옵니다.

    요청 본문을 텍스트 콘텐츠로 가져오려는 경우 이 함수를 사용합니다. 응답을 이진 첨부 파일로 저장할 때는 이 방법을 사용하지 마십시오. RESTMessageV2 객체가 saveResponseBodyAsAttachment(...) 함수라는 경우 연결된 RESTResponseV2 객체에서 getBody() 를 사용하면 오류가 발생합니다. 응답을 첨부 파일로 저장할 때 아웃바운드 REST 메시지가 실패하면 응답에서 getErrorMessage() 를 호출하여 본문 내용을 검색합니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    문자열 REST 응답 본문입니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var responseBody = response.getBody();

    RESTResponseV2 - getCookies()

    응답에 포함된 모든 쿠키를 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    없음
    표 6. 반환
    유형 설명
    객체 쿠키를 나타내는 문자열의 배열입니다. 배열을 반복하여 각 쿠키에 대한 작업을 수행합니다.

    응답의 개별 쿠키를 표시합니다.

    var cookies = response.getCookies();
    for (var i = 0; i < cookies.length; i++) {
      gs.info('cookie: ' + cookies.get(i));
    }
    출력:
    cookie: JSESSIONID=4135AA97A5D12DA22EF614AA2B0CAFD8.node20; Path=/; Secure; HttpOnly
    cookie: SABASESSIONID=370152970.36895.0000; path=/

    RESTResponseV2 - getErrorCode()

    REST 트랜잭션 중에 오류가 발생한 경우 숫자 오류 코드를 가져옵니다.

    이 오류 코드는 HTTP 오류 코드가 아닌 에만 해당 Now Platform됩니다. ServiceNow 고객 지원의 도움이 필요한 경우 이 오류 코드를 제공하십시오.

    주:
    실제 오류 메시지의 내용을 검색하려면 getBody() 메서드를 사용합니다.
    표 7. 매개변수
    이름 유형 설명
    없음
    표 8. 반환
    유형 설명
    번호 소켓 시간 제한의 경우 1과 같은 숫자 오류 코드입니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var errorCode = response.getErrorCode();

    RESTResponseV2 - getErrorMessage()

    REST 트랜잭션 중에 오류가 발생한 경우 오류 메시지를 가져옵니다.

    표 9. 매개변수
    이름 유형 설명
    없음
    표 10. 반환
    유형 설명
    문자열 오류 메시지.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var errorMsg = response.getErrorMessage();

    RESTResponseV2 - getHeader(문자열 이름)

    지정된 헤더의 값을 가져옵니다.

    표 11. 매개변수
    이름 유형 설명
    이름 문자열 Set-Cookie처럼 값을 원하는 헤더의 이름입니다.
    표 12. 반환
    유형 설명
    문자열 지정된 헤더의 값입니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var headerVal = response.getHeader("Content-Type");

    RESTResponseV2 - getHeaders()

    REST 응답에서 반환된 모든 헤더와 관련 값을 가져옵니다.

    주:
    Set-Cookie 헤더와 같은 헤더가 응답에 두 번 이상 있는 경우 이 함수는 중복 헤더의 마지막 헤더만 반환합니다. 중복을 포함하여 모든 헤더를 반환하려면 getAllHeaders() 함수를 사용합니다.
    표 13. 매개변수
    이름 유형 설명
    없음
    표 14. 반환
    유형 설명
    객체 각 헤더의 이름을 연결된 값에 매핑하는 객체입니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var headers = response.getHeaders();

    RESTResponseV2 - getQueryString()

    REST 엔드포인트로 전송된 완전히 해결된 쿼리를 가져옵니다.

    이 쿼리에는 엔드포인트 URL과 REST 메시지의 변수에 할당된 모든 값이 포함됩니다. 이 메서드는 직접 요청에 대한 응답에만 사용합니다. 비동기적으로 보낸 요청 또는 MID 서버를 사용하여 보낸 요청에는 이 방법이 지원되지 않습니다.

    표 15. 매개변수
    이름 유형 설명
    없음
    표 16. 반환
    유형 설명
    문자열 완전히 해결된 쿼리입니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var queryString = response.getQueryString();

    RESTResponseV2 - getResponseAttachmentSysid()

    응답 본문 콘텐츠에서 작성된 첨부 파일의 sys_id 값을 가져옵니다.

    이 응답과 연결된 RESTMessageV2 객체가 saveResponseBodyAsAttachment(...) 함수를 호출한 경우 getResponseAttachmentSysid() 를 사용하여 작성된 첨부 파일 레코드의 sys_id 가져옵니다. 새 첨부 파일 기록으로 추가 작업을 수행하려는 경우 이 기능을 사용합니다.

    표 17. 매개변수
    이름 유형 설명
    없음
    표 18. 반환
    유형 설명
    문자열 새 첨부 파일 기록의 Sys_id입니다.

    RESTResponseV2 - getStatusCode()

    REST 공급자가 반환한 숫자 HTTP 상태 코드를 가져옵니다.

    표 19. 매개변수
    이름 유형 설명
    없음
    표 20. 반환
    유형 설명
    번호 REST 제공자가 반환한 숫자 상태 코드(예: 성공적인 응답에 대한 200)입니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var statusCode = response.getStatusCode();

    RESTResponseV2 - haveError()

    REST 트랜잭션 중에 오류가 발생했는지 나타냅니다.

    표 21. 매개변수
    이름 유형 설명
    없음
    표 22. 반환
    유형 설명
    부울 오류가 있으면 true를 반환하고 오류가 없으면 false를 반환합니다.
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var error = response.haveError();

    RESTResponseV2 - waitForResponse(Number timeoutSecs)

    인스턴스가 웹 서비스 제공자로부터 응답을 기다리는 시간을 설정합니다.

    이 메서드는 이 REST 응답에 대해 glide.rest.outbound.ecc_response.timeout 속성을 무효화합니다.

    표 23. 매개변수
    이름 유형 설명
    timeoutSecs (시간 초과 초) 번호 이 응답을 기다리는 시간(초)입니다.
    표 24. 반환
    유형 설명
    void
    var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.executeAsync();
    response.waitForResponse(60);