Scripted SOAP Web Services

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 스크립트 기반 SOAP 웹 서비스를 사용하면 ServiceNow 관리자가 사용자 지정 SOAP 웹 서비스를 작성할 수 있습니다.

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

    보안

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

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

    WSDL

    모든 ServiceNow 테이블과 임포트 세트는 테이블 스키마와 사용 가능한 작업을 설명하는 WSDL(웹 서비스 정의 언어) 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 객체입니다. 응답 사용자 지정 참조