Scripted SOAP Web Services
스크립트된 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에 정의된 순서와 다른 순서로 출력 값을 반환할 수 있습니다.
| 매개변수 | 순서 |
|---|---|
| 매개변수 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>
<response>
<param3>3</param1>
<param1>1</param1>
</response>정적 WSDL
일부 웹 서비스 클라이언트는 특정 WSDL 형식을 통해 인스턴스에 대한 SOAP 액세스를 요구합니다. 이 필수 형식은 표준 ServiceNow WSDL 형식과 다를 수 있습니다. 이러한 경우 필수 형식과 일치하는 정적 WSDL을 작성할 수 있습니다.
전역 변수
- soapRequestDocument: 들어오는 SOAP 봉투를 나타내는 Java org.w3c.dom.Document 개체입니다.
- soapRequestXML: 수신 SOAP 봉투 XML을 나타내는 문자열 개체입니다.
- request: 수신 SOAP 봉투의 매핑된 값(입력 매개변수 이름에 매핑됨)을 포함하는 Javascript 객체입니다.
- response: 응답 값을 사용자 지정할 수 있는 Javascript 객체입니다. 응답 사용자 지정을 참조하십시오.