---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RESTMessageV2 - 범위 지정됨, 전역

# RESTMessageV2 - 범위 지정됨, 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 27분

RESTMessageV2 API는 JavaScript를 사용하여 아웃바운드 REST 메시지를 보낼 수 있는 메서드를 제공합니다.

이 API를 사용하여 REST 제공자가 반환하는 응답을 관리합니다.

사용자-에이전트 값은 "ServiceNow/1.0"입니다. 이를 변경하려면 시스템 속성 \[sys_properties\] 테이블에 glide.http.user.agent 시스템 속성을 추가합니다.

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

## RESTMessageV2 - RESTMessageV2() {#ariaid-title2}

빈 RESTMessageV2 객체를 인스턴스화합니다.
이러한 방식으로 인스턴스화된 객체를 사용하는 경우 HTTP 메서드와 엔드포인트를 수동으로 지정해야 합니다.
{#r_RMV2-RESTMessageV2__table_vy2_525_jqf__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 1. 매개변수]

{#r_RMV2-RESTMessageV2__table_vy2_525_jqf}  

    var sm = new sn_ws.RESTMessageV2();

## RESTMessageV2 - RESTMessageV2(문자열 이름, 문자열 methodName) {#ariaid-title3}

REST 메시지 기록의 정보를 사용하여 RESTMessageV2 객체를 인스턴스화합니다.
이 생성자를 사용하려면 REST 메시지 레코드가 정의되어 있어야 합니다. 지침은 [REST 메시지 생성](https://servicenow-prod.fluidtopics.net/Te5RCpmPAdmilsadW2TM4w "REST 메시지 기록을 생성하여 REST 웹 서비스 엔드포인트에 요청을 보냅니다.") 문서를 참조하십시오.
{#r_RMV2-RESTMessageV2_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | REST 메시지 \[sys_rest_message\] 테이블의 REST 메시지 기록 이름입니다. |
| methodName | 문자열 | 사용할 HTTP 메서드의 이름(예: GET/get 또는 PUT/put)은 대/소문자를 구분하지 않습니다. |
[표 2. 매개변수]

{#r_RMV2-RESTMessageV2_S_S__table_vy2_525_jq}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get");
    // Might throw exception if message doesn't exist or not visible due to scope.

## RESTMessageV2 - disableForcedVariableSubstitution() {#ariaid-title4}

아웃바운드 REST 메시지에서 강제 변수 대체를 비활성화합니다.
주:  
요청에 중괄호나 달러 기호를 사용하면 실수로 잘린 출력이 반환될 수 있습니다. 요청으로 인해 응답이 잘못 잘리거나 응답이 새 줄로 분할되는 경우 [이 커뮤니티 문서](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1442596) 에서 잠재적인 해결 방법을 참조하십시오.
{#RestMessageV2-disableForcedVariableSubstitution__table_bvg_43g_z2b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 3. 매개변수]

{#RestMessageV2-disableForcedVariableSubstitution__table_bvg_43g_z2b} {#RestMessageV2-disableForcedVariableSubstitution__table_cvg_43g_z2b__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 4. 반환]

{#RestMessageV2-disableForcedVariableSubstitution__table_cvg_43g_z2b}  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get");
    sm.disableForcedVariableSubstitution();
    var response = sm.execute();

## RESTMessageV2 - execute() {#ariaid-title5}

REST 메시지를 엔드포인트로 보냅니다.
{#r_RMV2-execute__table_vy2_525_jqa__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 5. 매개변수]

{#r_RMV2-execute__table_vy2_525_jqa} {#r_RMV2-execute__table_qlp_mhh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| RESTResponse | REST 제공자가 반환한 응답입니다. |
[표 6. 반환]

{#r_RMV2-execute__table_qlp_mhh_dr}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.

## RESTMessageV2 - executeAsync() {#ariaid-title6}

REST 메시지를 엔드포인트에 비동기적으로 보냅니다. 인스턴스는 비동기 호출을 수행할 때 웹 서비스 제공자의 응답을 기다리지 않습니다.
{#r_RMV2-executeAsync__table_vy2_525_jqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 7. 매개변수]

{#r_RMV2-executeAsync__table_vy2_525_jqb} {#r_RMV2-executeAsync__table_rys_lhh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| RESTResponse | REST 제공자가 반환한 응답입니다. |
[표 8. 반환]

{#r_RMV2-executeAsync__table_rys_lhh_dr}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다. `executeAsync`를 사용하는 경우 별도의 비즈니스 규칙에서 응답 본문을 처리하여 비동기 호출을 활용하는 것이 좋습니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.executeAsync(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.

## RESTMessageV2 - getEndpoint() {#ariaid-title7}

REST 메시지에 대한 엔드포인트의 URL을 가져옵니다.
{#r_RMV2-getEndpoint__table_vy2_525_jqc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 9. 매개변수]

{#r_RMV2-getEndpoint__table_vy2_525_jqc} {#r_RMV2-getEndpoint__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | REST 웹 서비스 제공자의 URL입니다. |
[표 10. 반환]

{#r_RMV2-getEndpoint__table_qpt_3f5_jq}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var endpoint = sm.getEndpoint();

## RESTMessageV2 - getRequestBody() {#ariaid-title8}

REST 메시지 본문의 내용을 가져옵니다.
{#r_RMV2-getRequestBody__table_vy2_525_jqd__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 11. 매개변수]

{#r_RMV2-getRequestBody__table_vy2_525_jqd} {#r_RMV2-getRequestBody__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | REST 메시지 본문입니다. |
[표 12. 반환]

{#r_RMV2-getRequestBody__table_qpt_3f5_jq}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var body = sm.getRequestBody();

## RESTMessageV2 - getRequestHeader(문자열 headerName) {#ariaid-title9}

REST 메시지에 지정된 HTTP 헤더의 값을 가져옵니다.
기본적으로 이 메서드는 시스템에서 자동으로 설정한 헤더 값을 반환할 수 없습니다. 이 메서드에 모든 헤더에 대한 액세스 권한을 부여하려면 속성 glide.http.log_debug를 true로 설정합니다.
{#r_RMV2-getRequestHeader_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| headerName | 문자열 | 값을 가져오려는 요청 헤더입니다. |
[표 13. 매개변수]

{#r_RMV2-getRequestHeader_S__table_vy2_525_jq} {#r_RMV2-getRequestHeader_S__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 지정된 헤더의 값입니다. |
[표 14. 반환]

{#r_RMV2-getRequestHeader_S__table_qpt_3f5_jq}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var header = sm.getRequestHeader("Accept");

## RESTMessageV2 - getRequestHeaders() {#ariaid-title10}

REST 클라이언트에서 설정한 HTTP 헤더와 관련된 값을 가져옵니다.
이 메서드는 시스템에서 자동으로 설정한 헤더를 반환하지 않습니다. 모든 헤더를 반환하도록 이 메서드를 구성하려면 속성 glide.http.log_debug를 true로 설정합니다.
{#r_RMV2-getRequestHeaders__table_vy2_525_jqe__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 15. 매개변수]

{#r_RMV2-getRequestHeaders__table_vy2_525_jqe} {#r_RMV2-getRequestHeaders__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | 각 헤더의 이름을 연결된 값에 매핑하는 객체입니다. |
[표 16. 반환]

{#r_RMV2-getRequestHeaders__table_qpt_3f5_jq}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var headers = sm.getRequestHeaders();

## RESTMessageV2 - saveResponseBodyAsAttachment(문자열 tableName, 문자열 recordSysId, 문자열 fileName) {#ariaid-title11}

반환된 응답 본문을 첨부 파일 기록으로 저장하도록 REST 메시지를 구성합니다.
MID 서버를 통해 전송되는 REST 메시지와 함께 이 함수를 사용하는 경우, MID 서버 사용자에게는 첨부 파일 기록을 읽고 쓰는 데 필요한 역할과 매개변수에 tableName 지정된 테이블의 기록을 읽고 쓰는 데 필요한 역할이 있어야 합니다.{#r_RMV2-saveRespBodyAsAttach_S_S_S__p_RMv2_MID_role_req_save}

응답 본문은 첨부 파일로 저장할 이진 파일일 필요가 없습니다. JSON 또는 XML과 같은 텍스트 형식을 사용하는 응답 본문도 저장할 수 있습니다. 인스턴스가 첨부 파일을 저장하지 못하면 관련 RESTResponseV2 객체에서 getErrorMessage() 를 호출하여 오류 세부 정보를 확인합니다.
{#r_RMV2-saveRespBodyAsAttach_S_S_S__table_yg1_rp3_5s__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| tableName | 문자열 | 저장된 파일을 첨부하려는 기록이 들어 있는 테이블을 지정합니다. |
| recordSysID | 문자열 | 저장된 파일을 첨부할 기록의 sys_id 지정합니다. |
| fileName | 문자열 | 저장된 파일에 지정할 파일 이름을 지정합니다. |
[표 17. 매개변수]

{#r_RMV2-saveRespBodyAsAttach_S_S_S__table_yg1_rp3_5s} {#r_RMV2-saveRespBodyAsAttach_S_S_S__table_zg1_rp3_5s__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 18. 반환]

{#r_RMV2-saveRespBodyAsAttach_S_S_S__table_zg1_rp3_5s}  

    (function sampleRESTMessageV2() {
      try{
        var request  = new sn_ws.RESTMessageV2();        
        request.setHttpMethod('get');

        var attachment_sys_id  = '<attachment_record_sys_id>', 
          tablename = 'incident',
          recordSysId = '<incident_sys_id>',            
          response,            
          httpResponseStatus,             
          filename ='<filename>';

        //endpoint - ServiceNow REST Attachment API        
        request.setEndpoint('https://<instance_name>.service-now.com/api/now/attachment/' + attachment_sys_id  +'/file');        
        request.setBasicAuth('<username>', '<password>');

        //RESTMessageV2 - saveResponseBodyAsAttachment(String tableName, String recordSysId, String fileName)        
        request.saveResponseBodyAsAttachment(tablename, recordSysId, filename);        

        response = request.execute();        
        httpResponseStatus = response.getStatusCode();  
          
        gs.info(" http response status_code:  " + httpResponseStatus);    
      }
      catch(ex){
        var message  = ex.getMessage();        
        gs.info(message);    
      }
    })();

## RESTMessageV2 - saveResponseBodyAsAttachment(문자열 tableName, 문자열 recordSysId, 문자열 fileName, 문자열 encryptContext) {#ariaid-title12}

반환된 응답 본문을 암호화된 첨부 파일 기록으로 저장하도록 REST 메시지를 구성합니다.
MID 서버를 통해 전송되는 REST 메시지와 함께 이 함수를 사용하는 경우, MID 서버 사용자에게는 첨부 파일 기록을 읽고 쓰는 데 필요한 역할과 매개변수에 tableName 지정된 테이블의 기록을 읽고 쓰는 데 필요한 역할이 있어야 합니다.

응답 본문은 첨부 파일로 저장할 이진 파일일 필요가 없습니다. JSON 또는 XML과 같은 텍스트 형식을 사용하는 응답 본문도 저장할 수 있습니다. 인스턴스가 첨부 파일을 저장하지 못하면 관련 RESTResponseV2 객체에서 getErrorMessage() 를 호출하여 오류 세부 정보를 확인합니다.{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__p_k4n_p22_vs}
{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_yg1_rp3_5s__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| tableName | 문자열 | 저장된 파일을 첨부하려는 기록이 들어 있는 테이블을 지정합니다. |
| recordSysID | 문자열 | 저장된 파일을 첨부할 기록의 sys_id 지정합니다. |
| fileName | 문자열 | 저장된 파일에 지정할 파일 이름을 지정합니다. |
| encryptContext | 문자열 | 암호화 컨텍스트의 sys_id 지정합니다. 저장된 파일은 이 컨텍스트를 사용하여 암호화됩니다. |
[표 19. 매개변수]

{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_yg1_rp3_5s} {#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_zg1_rp3_5s__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 20. 반환]

{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_zg1_rp3_5s}

## RESTMessageV2 - setAllowedRedirectURI(배열 Uris) {#ariaid-title13}

리디렉션이 허용된 하나 이상의 URI를 설정합니다. 허용된 아웃바운드 URI를 제어하면 보안 문제가 줄어들고 사용자를 악성 사이트로 보내는 URL 리디렉션 공격을 방지하는 데 도움이 됩니다.
URI를 리디렉션하는 보다 포괄적인 방법은 다음을 참조하십시오 [UriMatcher - 범위 지정됨](https://servicenow-prod.fluidtopics.net/BsqCK0mcpsdgkZzbhHzEXA#UriMatcherScopedAPI "URI가 체계, 호스트, 경로, 조각 및 쿼리 매개변수 존재 여부에 대해 지정된 기준과 일치하는지 확인하는 메서드를 제공합니다.").
{#r_RMV2-setAllowedRedirectURIs_A__table_qym_34c_jt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 유리스 | 배열 | 하나 이상의 URI로 리디렉션이 허용됩니다. 각 URI는 "문자열" 형식으로 나열해야 합니다. |
[표 21. 매개변수]

{#r_RMV2-setAllowedRedirectURIs_A__table_qym_34c_jt} {#r_RMV2-setAllowedRedirectURIs_A__table_rym_34c_jt__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 22. 반환]

{#r_RMV2-setAllowedRedirectURIs_A__table_rym_34c_jt}  
다음 예시는 REST 메시지 메서드의 리디렉션이 허용된 URL을 하나 이상 추가하는 방법을 보여줍니다.

    // Redirection URI Allow list
    try{
    	var rm = new sn_ws.RESTMessageV2('<REST_message_record>', '<REST_Msg_method_name>');
    	rm.setAllowedRedirectURIs(['https://www.google.com']);

    	var response = rm.execute();
    	var responseBody = response.getBody();
    	var httpStatus = response.getStatusCode();
    	gs.info(responseBody);
    	gs.info(httpStatus);
    } catch(ex) {
    	var message = ex.getMessage();
    }

## RESTMessageV2 - setAuthenticationProfile(문자열 유형, 문자열 profileId) {#ariaid-title14}

기존 기본 인증 또는 OAuth 2.0 프로파일을 사용하여 REST 메시지에 대한 자격 증명을 설정합니다.
{#r_RMV2-setAuthenticationProfile_S_S__table_qym_34c_jt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 유형 | 문자열 | 사용할 인증 프로파일의 유형입니다. 유효한 값은 기본 인증을 사용하려면 "basic", OAuth 2.0을 사용하려면 "oauth2"입니다. |
| profileId | 문자열 | 인증 프로파일 기록의 sys_id입니다. 기본 인증을 사용하는 경우 기본 인증 구성 \[sys_auth_profile_basic\] 기록의 sys_id 지정합니다. OAuth 2.0을 사용하는 경우 OAuth 엔터티 프로파일 \[oauth_entity_profile\] 기록의 sys_id 지정합니다. |
[표 23. 매개변수]

{#r_RMV2-setAuthenticationProfile_S_S__table_qym_34c_jt} {#r_RMV2-setAuthenticationProfile_S_S__table_rym_34c_jt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 24. 반환]

{#r_RMV2-setAuthenticationProfile_S_S__table_rym_34c_jt}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var requestBody;
    var responseBody;
    var status;
    var sm;
    try{
           // Might throw exception if message doesn't exist or not visible due to scope.
    	sm = new sn_ws.RESTMessageV2("<REST_message_record>", "get");  

           //set auth profile to an OAuth 2.0 profile record.
    	sm.setAuthenticationProfile('oauth2', '1234adsf123212131123qasdsf'); 

    	sm.setStringParameter("symbol", "NOW");
    	sm.setStringParameterNoEscape("xml_data","<data>test</data>");

           //In milliseconds. Wait at most 10 seconds for response from http request.
    	sm.setHttpTimeout(10000); 
           //Might throw exception if http connection timed out or some issue 
           //with sending request itself because of encryption/decryption of password.
    	response = sm.execute();	
           responseBody = response.haveError() ? response.getErrorMessage() : response.getBody();
    	status = response.getStatusCode();
    } catch(ex) {
    	responseBody = ex.getMessage();
    	status = '500';
    } finally {
    	requestBody = sm ? sm.getRequestBody():null;
    }

## RESTMessageV2 - setBasicAuth(문자열 userName, 문자열 userPass) {#ariaid-title15}

REST 메시지에 대한 기본 인증 헤더를 설정합니다.
이 방법을 사용하여 보안 값을 설정하면 REST 메시지 기록에 정의된 기본 인증 값이 무효화됩니다.
{#r_RMV2-setBasicAuth_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| userName | 문자열 | REST 메시지를 인증하는 데 사용할 사용자 이름입니다. |
| userPass | 문자열 | 지정된 사용자의 암호입니다. |
[표 25. 매개변수]

{#r_RMV2-setBasicAuth_S_S__table_vy2_525_jq} {#r_RMV2-setBasicAuth_S_S__table_arp_cmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 26. 반환]

{#r_RMV2-setBasicAuth_S_S__table_arp_cmh_dr}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setBasicAuth("username","password");

## RESTMessageV2 - setEccCorrelator(문자열 관련자) {#ariaid-title16}

아웃바운드 요청과 결과 응답 기록을 ECC 큐에 연결합니다. 이 메서드는 를 통해 MID 서버전송되는 REST 메시지에만 적용됩니다.
제공된 관련자는 응답에 대한 ECC 큐 기록의 에이전트 관련자 필드를 채웁니다. MID 서버를 통해 비동기 자동화를 설계할 때 ECC 큐의 올바른 결과를 요청과 연결하려면 각 아웃바운드 요청에 대해 고유한 관련자를 제공합니다.
{#r_RMV2-setEccCorrelator_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 관련자 | 문자열 | 고유 식별자 |
[표 27. 매개변수]

{#r_RMV2-setEccCorrelator_S__table_vy2_525_jq} {#r_RMV2-setEccCorrelator_S__table_x3m_cmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 28. 반환]

{#r_RMV2-setEccCorrelator_S__table_x3m_cmh_dr}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setEccCorrelator("unique_identifier");

## RESTMessageV2 - setEccParameter(문자열 이름, 문자열 값) {#ariaid-title17}

REST 메시지 페이로드에 기록하여 데이터베이스의 값을 재정의합니다. 이 방법은 MID 서버를 통해 전송되는 REST 메시지에만 적용됩니다.
엔드포인트 URL이 최대 REST 엔드포인트 필드 길이보다 긴 경우와 같이 데이터베이스의 REST 메시지 값이 잘못된 경우 이 방법을 사용합니다. source를 이름 매개변수로 전달하여 이 방법을 사용하여 엔드포인트 URL만 설정할 수 있습니다.
{#r_RMV2-setEccParameter_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 소스와 같은 매개변수의 이름입니다. |
| 값 | 문자열 | 지정된 매개변수에 할당할 값 |
[표 29. 매개변수]

{#r_RMV2-setEccParameter_S_S__table_vy2_525_jq} {#r_RMV2-setEccParameter_S_S__table_b1j_cmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 30. 반환]

{#r_RMV2-setEccParameter_S_S__table_b1j_cmh_dr}

다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setEccParameter("source","http://very.long.endpoint.url");

## RESTMessageV2 - setEndpoint(문자열 엔드포인트) {#ariaid-title18}

REST 메시지의 엔드포인트를 설정합니다.
기본적으로 REST 메시지는 REST 메시지 기록에 지정된 엔드포인트를 사용합니다. 이 메서드를 사용하여 이 기본값을 재정의합니다. 매개변수 없이 생성자를 사용하는 [RESTMessageV2 - RESTMessageV2()](https://servicenow-prod.fluidtopics.net/puWLc8fq7jgxuK3gZURKzw#r_RMV2-RESTMessageV2 "빈 RESTMessageV2 객체를 인스턴스화합니다.") 경우 이 메서드를 호출해야 합니다.
{#r_RMV2-setEndpoint_String_endpoint__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 엔드포인트 | 문자열 | 인터페이스할 REST 제공자의 URL입니다. |
[표 31. 매개변수]

{#r_RMV2-setEndpoint_String_endpoint__table_vy2_525_jq} {#r_RMV2-setEndpoint_String_endpoint__table_utf_cmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 32. 반환]

{#r_RMV2-setEndpoint_String_endpoint__table_utf_cmh_dr}  

    var sm = new sn_ws.RESTMessageV2();
    sm.setEndpoint("http://web.service.endpoint");

## RESTMessageV2 - setHttpMethod(문자열 메서드) {#ariaid-title19}

이 REST 메시지가 수행하는 HTTP 메서드(예: GET 또는 PUT)를 설정합니다.
매개변수 없이 생성자를 사용하는 [RESTMessageV2 - RESTMessageV2()](https://servicenow-prod.fluidtopics.net/puWLc8fq7jgxuK3gZURKzw#r_RMV2-RESTMessageV2 "빈 RESTMessageV2 객체를 인스턴스화합니다.") 경우 HTTP 메서드를 설정해야 합니다.
{#r_RMV2-setHttpMethod_String_method__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 방법 | 문자열 | 이 REST 메시지가 수행하는 HTTP 메서드를 설정합니다. 제공된 HTTP 메서드는 대소문자를 구분하지 않습니다. 다음 HTTP 메서드가 지원됩니다. * 임포트 * 게시 * 넣기 * 패치 * 삭제 * HEAD {#r_RMV2-setHttpMethod_String_method__ul_lld_dvz_ffc} |
[표 33. 매개변수]

{#r_RMV2-setHttpMethod_String_method__table_vy2_525_jq} {#r_RMV2-setHttpMethod_String_method__table_bqb_cmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 34. 반환]

{#r_RMV2-setHttpMethod_String_method__table_bqb_cmh_dr}  

    var sm = new sn_ws.RESTMessageV2();
    sm.setHttpMethod("post");

## RESTMessageV2 - setHttpTimeout(Number timeoutMs) {#ariaid-title20}

요청 시간이 초과되기 전에 REST 메시지가 웹 서비스 제공자로부터 응답을 기다리는 시간을 설정합니다.
{#r_RMV2-setHttpTimeout_N__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| timeoutMs | 번호 | REST 제공자에 대한 호출이 시간 초과되기 전까지의 시간(밀리초)입니다. 주: 이 값은 소켓에 시간 제한을 설정하고 소켓이 지정된 시간 내에 데이터를 받지 못하는 경우에만 시간을 초과합니다. 응답이 스트리밍되는 환경의 경우 연결이 시간 제한 값보다 훨씬 오래 지속될 수 있습니다. |
[표 35. 매개변수]

{#r_RMV2-setHttpTimeout_N__table_vy2_525_jq} {#r_RMV2-setHttpTimeout_N__table_tcy_bmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 36. 반환]

{#r_RMV2-setHttpTimeout_N__table_tcy_bmh_dr}  
다음 예시를 사용하려면 <var class="keyword varname">&lt;REST_message_record&gt;</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.

    // Might throw exception if message doesn't exist or not visible due to scope.
    var sm = new sn_ws.RESTMessageV2("<REST_message_record>", "get");
    sm.setHttpTimeout(6000);

## RESTMessageV2 - setLogLevel(문자열 수준) {#ariaid-title21}

이 메시지와 해당 응답에 대한 로그 수준을 설정합니다.
RESTMessageV2 API를 사용하여 로그 수준을 설정하면 REST 메시지 기록에 구성된 로그 수준이 무효화됩니다. 엔드포인트 도메인이 제외되거나 속성 glide.outbound_http_log.override 이 예인 경우 이 로그 수준이 적용되지 않을 수 있습니다. 아웃바운드 웹 서비스 로그를 보려면 다음으로 이동하십시오. 시스템 로그아웃바운드 HTTP 요청.
{#RMV2-setLogLevel_S__table_jsf_y55_rw__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 수준 | 문자열 | 로그 수준입니다. 유효한 값은 기본, 상승됨 및 모두입니다. |
[표 37. 매개변수]

{#RMV2-setLogLevel_S__table_jsf_y55_rw} {#RMV2-setLogLevel_S__table_ksf_y55_rw__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 38. 반환]

{#RMV2-setLogLevel_S__table_ksf_y55_rw}  

    var rm = new sn_ws.RESTMessageV2();
    rm.setLogLevel('all');

## RESTMessageV2 - setMIDServer(문자열 midServer) {#ariaid-title22}

를 통해 통신하도록 REST 메시지를 구성합니다 MID 서버.
{#r_RMV2-setMIDServer_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 미드 서버 | 문자열 | 사용할 이름입니다.MID 서버 인스턴스에는 지정된 이름의 활성이 MID 서버 있어야 합니다. |
[표 39. 매개변수]

{#r_RMV2-setMIDServer_S__table_vy2_525_jq} {#r_RMV2-setMIDServer_S__table_el5_bmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 40. 반환]

{#r_RMV2-setMIDServer_S__table_el5_bmh_dr}  
다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setMIDServer("mid_server_name");

## RESTMessageV2 - setMutualAuth(문자열 profileName) {#ariaid-title23}

REST 메시지에 대한 상호 인증 프로토콜 프로파일을 설정합니다.
이 방법을 사용하여 프로토콜 프로파일을 설정하면 REST 메시지 기록에 대해 선택한 프로토콜 프로파일이 무효화됩니다.
{#r_RMV2-setMutualAuth_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| profileName | 문자열 | 상호 인증에 사용할 프로토콜 프로파일의 이름 입니다. |
[표 41. 매개변수]

{#r_RMV2-setMutualAuth_S__table_vy2_525_jq} {#r_RMV2-setMutualAuth_S__table_r1r_bmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 42. 반환]

{#r_RMV2-setMutualAuth_S__table_r1r_bmh_dr}  
다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setMutualAuth("mutual_auth_profile_name");

## RESTMessageV2 - setQueryParameter(문자열 이름, 문자열 값) {#ariaid-title24}

양식 name=value로 요청 URL 끝에 매개변수를 추가합니다.
예를 들어, 코드 setQueryParameter("sysparm_query","active=true\^ORDERBYnumber\^ORDERBYDESCcategory"); 요청 URL에 텍스트 sysparm_query=active=true\^ORDERBYnumber\^ORDERBYDESC범주를 추가합니다.
{#r_RMV2-setQueryParameter_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 전달할 URL 매개변수의 이름입니다. |
| 값 | 문자열 | URL 매개변수를 할당할 값입니다. |
[표 43. 매개변수]

{#r_RMV2-setQueryParameter_S_S__table_vy2_525_jq} {#r_RMV2-setQueryParameter_S_S__table_cnm_bmh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 44. 반환]

{#r_RMV2-setQueryParameter_S_S__table_cnm_bmh_dr}  

    var sm = new sn_ws.RESTMessageV2();
    //Set up message, including endpoint and authentication
    sm.setQueryParameter("sysparm_query","active=true^ORDERBYnumber^ORDERBYDESCcategory");

## RESTMessageV2 - setRequestBody(문자열 본문) {#ariaid-title25}

PUT 또는 POST HTTP 메서드를 사용할 때 웹 서비스 제공자에게 보낼 본문 콘텐츠를 설정합니다.
이 메서드를 사용하여 본문 컨텐츠를 설정하면 본문의 변수가 REST 메시지 함수 기록의 매개변수로 대체되지 않습니다. REST 메시지 본문 내의 모든 값을 명시적으로 정의해야 합니다.
{#r_RMV2-setRequestBody_String_body__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 본문 | 문자열 | 보낼 요청 본문입니다. |
[표 45. 매개변수]

{#r_RMV2-setRequestBody_String_body__table_vy2_525_jq} {#r_RMV2-setRequestBody_String_body__table_gft_1mh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 46. 반환]

{#r_RMV2-setRequestBody_String_body__table_gft_1mh_dr}  

    var sm = new sn_ws.RESTMessageV2("Update user","post"); //Might throw exception if message doesn't exist or not visible due to scope.
    var body = "<Message body content>";
    sm.setRequestBody(body);

## RESTMessageV2 - setRequestBodyFromAttachment(문자열 attachmentSysId) {#ariaid-title26}

기존 첨부 파일 기록을 사용하여 요청 본문을 설정합니다.
을 통해 MID 서버전송되는 REST 메시지와 함께 이 함수를 사용하는 경우, 사용자에게는 MID 서버 첨부 파일 기록을 읽는 데 필요한 역할이 있어야 합니다.{#r_RMV2-setReqBodyFromAttachment_S__p_RMv2_MID_roles_req}
{#r_RMV2-setReqBodyFromAttachment_S__table_kn2_bp3_5s__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| attachmentSysId | 문자열 | 이 REST 메시지로 보낼 첨부 파일 \[sys_attachment\] 기록의 Sys_id입니다. |
[표 47. 매개변수]

{#r_RMV2-setReqBodyFromAttachment_S__table_kn2_bp3_5s} {#r_RMV2-setReqBodyFromAttachment_S__table_ln2_bp3_5s__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 48. 반환]

{#r_RMV2-setReqBodyFromAttachment_S__table_ln2_bp3_5s}  

    (function sampleRESTMessageV2() {
        try {
            var request = new sn_ws.RESTMessageV2();
            request.setHttpMethod('post');
            request.setEndpoint('<web service endpoint URL>');
            request.setRequestBodyFromAttachment('<attachment sys_id>');
            
            var response = request.execute();
            var httpResponseStatus = response.getStatusCode();
          
            gs.info("http response status_code: " + httpResponseStatus);        
        }
        catch (ex) {
            var message = ex.getMessage();
            gs.info(message);
        }
    })();

## RESTMessageV2 - setRequestHeader(문자열 이름, 문자열 값) {#ariaid-title27}

REST 메시지의 HTTP 헤더를 지정된 값으로 설정합니다.
{#r_RMV2-setRequestHeader_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 헤더의 이름입니다. |
| 값 | 문자열 | 지정된 헤더에 할당할 값입니다. |
[표 49. 매개변수]

{#r_RMV2-setRequestHeader_S_S__table_vy2_525_jq} {#r_RMV2-setRequestHeader_S_S__table_ryx_1mh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 50. 반환]

{#r_RMV2-setRequestHeader_S_S__table_ryx_1mh_dr}  
다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setRequestHeader("Accept","Application/json");

## RESTMessageV2 - setRequestorProfile(문자열 requestorContext, 문자열 requestorId) {#ariaid-title28}

다른 요청자와 연결된 OAuth 액세스 토큰을 검색하기 위해 REST 메시지의 기본 요청자 프로파일을 재정의합니다.
이 방법은 OAuth 2.0 인증을 사용하도록 구성된 REST 메시지에만 적용됩니다. 이 방법은 선택 사항이며 대부분의 구성에서 필요하지 않습니다.
{#r_RMv2-setRequestorProfile_S_S__table_c4t_2my_lt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| requestorContext | 문자열 |   |
| requestorId | 문자열 |   |
[표 51. 매개변수]

{#r_RMv2-setRequestorProfile_S_S__table_c4t_2my_lt} {#r_RMv2-setRequestorProfile_S_S__table_d4t_2my_lt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 52. 반환]

{#r_RMv2-setRequestorProfile_S_S__table_d4t_2my_lt}

## RESTMessageV2 - setStringParameter(문자열 이름, 문자열 값) {#ariaid-title29}

REST 메시지 기록에서 지정된 이름의 REST 메시지 함수 변수를 지정된 값으로 설정합니다.
값의 XML 예약 문자는 해당하는 이스케이프 문자로 변환됩니다. setStringParameterNoEscape를 사용하여 XML 예약 문자를 이스케이프하지 않고 변수를 설정합니다.
{#r_RMV2-setStringParameter_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | REST 메시지 변수의 이름입니다. 이 매개변수에 값을 할당하려면 먼저 REST 메시지 기록에 정의해야 합니다. |
| 값 | 문자열 | 변수를 할당할 값입니다. |
[표 53. 매개변수]

{#r_RMV2-setStringParameter_S_S__table_vy2_525_jq} {#r_RMV2-setStringParameter_S_S__table_c1n_zlh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 54. 반환]

{#r_RMV2-setStringParameter_S_S__table_c1n_zlh_dr}  
다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setStringParameter("s","NOW");

## RESTMessageV2 - setStringParameterNoEscape(문자열 이름, 문자열 값) {#ariaid-title30}

REST 메시지 기록에서 지정된 이름의 REST 메시지 함수 변수를 지정된 값으로 설정합니다.
이 메서드는 setStringParameter 와 동일하지만 XML 예약 문자를 이스케이프하지 않습니다.
{#r_RMV2-setStrParamNoEscape_S_S__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | REST 메시지 변수의 이름입니다. 이 매개변수에 값을 할당하려면 먼저 REST 메시지 기록에 정의해야 합니다. |
| 값 | 문자열 | 변수를 할당할 값입니다. |
[표 55. 매개변수]

{#r_RMV2-setStrParamNoEscape_S_S__table_vy2_525_jq} {#r_RMV2-setStrParamNoEscape_S_S__table_yrh_zlh_dr__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 56. 반환]

{#r_RMV2-setStrParamNoEscape_S_S__table_yrh_zlh_dr}  
다음 예시에서 <var class="keyword varname">REST_message_record</var> 인스턴스의 REST 메시지 기록 이름으로 바꿉니다.

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setStringParameterNoEscape("s","NOW");


