Scripted SOAP Web Services

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기3분
  • 스크립트된 SOAP 웹 서비스를 사용하면 ServiceNow 관리자가 사용자 지정 SOAP 웹 서비스를 만들 수 있습니다.

    SOAP 웹 서비스에 대한 입력 및 출력 매개 변수를 정의하고 JavaScript를 사용하여 작업을 수행할 수 있습니다. 이 기능은 매우 강력하지만 구현 및 유지보수가 더 간단하므로 가능하면 직접 웹 서비스 또는 SOAP 웹 서비스 임포트 세트를 사용하십시오.

    보안

    스크립트 기반 SOAP 웹 서비스에는 모든 SOAP 웹 서비스와 동일한 기본 보안 옵션이 있습니다. SOAP 웹 서비스 보안에 대한 자세한 내용은 을 참조하십시오 SOAP 웹 서비스 보안.

    시스템에 엄격한 보안 이 적용되는 경우 HTTP 인증 사용자에게 스크립트된 웹 서비스를 실행할 수 있는 soap_script 역할이 있어야 합니다.

    WSDL

    모든 ServiceNow 테이블 및 임포트 세트는 테이블 스키마와 사용 가능한 조작을 설명하는 WSDL(Web Service Definition Language) XML 문서를 동적으로 생성합니다.

    WSDL 준수 강제 적용

    WSDL에 정의된 것과 동일한 순서로 목록 출력 값에 대한 응답을 강제 적용할 수 있습니다.

    스크립트된 SOAP 웹 서비스를 작성할 때 생성된 WSDL은 입력 매개변수 및 출력 매개변수 관련 목록을 기반으로 합니다. 스크립트된 서비스에서 보내는 실제 SOAP 응답은 스크립트에 의해 결정됩니다. 이 동작으로 인해 스크립트가 WSDL에 정의된 순서와 다른 순서로 출력 값을 반환할 수 있습니다.

    관련 목록에 정의된 대로 출력 매개변수의 순서를 적용하려면 WSDL 준수 선택란을 선택하십시오. 이 확인란을 선택하면 웹 서비스는 WSDL의 순서와 일치하도록 스크립트에서 반환된 매개변수를 재정렬합니다.
    주:
    스크립트에서 추가 응답 매개변수를 반환하지만 응답 매개변수 관련 목록에 정의되지 않은 경우 WSDL 준수 를 선택하면 해당 매개변수가 응답에서 제외됩니다.
    표 1. 출력 매개변수 관련 목록
    매개변수 순서
    매개변수 1 200
    매개변수 2 300
    매개변수 3 100

    정의된 출력 매개변수의 값을 설정하는 스크립트는 다음과 같습니다. 이 예시 스크립트에서 매개변수는 출력 매개변수 관련 목록에 정의된 순서와 다르게 설정됩니다. 관련 목록에 정의되지 않은 추가 매개변수 param4 도 확인합니다.

    Response.param1 = 1;
    Response.param4 = 4;
    Response.param3 = 3;

    WSDL 준수 확인란이 false인 경우 스크립트에 의해 생성되는 SOAP 응답은 다음과 같습니다.

    <response>
                    <param1>1</param1>
                    <param4>4</param1>
                    <param3>3</param1>
    </response>
    WSDL 준수 확인란true이면 스크립트에서 생성되는 SOAP 응답은 다음과 같습니다.
    <response>
                    <param3>3</param1>
                    <param1>1</param1>
    </response>

    정적 WSDL

    일부 웹 서비스 클라이언트는 특정 WSDL 형식을 통해 인스턴스에 대한 SOAP 액세스를 요구합니다. 이 필수 형식은 표준 ServiceNow WSDL 형식과 다를 수 있습니다. 이러한 경우 필수 형식과 일치하는 정적 WSDL을 작성할 수 있습니다.

    전역 변수

    수신 SOAP 요청의 사용자 지정 처리를 용이하게 하기 위해 스크립트 컨텍스트에서 다음 전역 변수를 사용할 수 있습니다.
    • soapRequestDocument: 들어오는 SOAP 봉투를 나타내는 Java org.w3c.dom.Document 개체입니다.
    • soapRequestXML: 수신 SOAP 봉투 XML을 나타내는 문자열 개체입니다.
    • request: 수신 SOAP 봉투의 매핑된 값(입력 매개변수 이름에 매핑됨)을 포함하는 Javascript 객체입니다.
    • response: 응답 값을 사용자 지정할 수 있는 Javascript 객체입니다. 응답 사용자 지정을 참조하십시오.