직접 웹 서비스

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기5분
  • 올바른 액세스 제어 목록이 구성된 경우 시스템의 모든 테이블에 대해 직접 웹 서비스를 사용할 수 있습니다.

    수신 메시지의 지원되는 형식은 문서 스타일 리터럴 XML SOAP 문서(Document/Literal)입니다. 직접 웹 서비스 WSDL 설명과 XML 스키마를 검색하려면 상대 URL <tablename>.do?를 가리킵니다. WSDL입니다. 예를 들어, 온라인 데모 시스템에서 인시던트 테이블의 WSDL을 검색하려면 다음 URL을 사용합니다. https://<instance name>.service-now.com/incident.do?WSDL.

    확장된 쿼리 매개변수

    확장 쿼리 매개변수를 사용하면 get, getKeysgetRecords 함수를 사용할 때 SOAP 쿼리의 반환 결과를 필터링하고 수정할 수 있습니다.
    주:
    확장된 쿼리 요소 이름 앞에는 두 개의 밑줄 문자가 옵니다.
    표 1. 사용 가능한 확장 쿼리 매개변수
    매개변수 설명 예제
    __encoded_query 반환된 결과를 필터링하는 데 사용할 인코딩된 쿼리 문자열을 지정합니다. 인코딩된 쿼리 문자열 형식은 sysparm_query URL 매개변수에 지정될 수 있는 값과 유사합니다. RSS 피드 생성기 예제에서 인코딩된 쿼리 작성 예제를 참조하세요. <__encoded_query>active=true^category='hardware'</__encoded_query>
    __order_by 반환된 결과가 지정된 필드별로 정렬되도록 지시합니다. <__order_by>우선 순위</__order_by>
    __order_by_desc 반환된 결과가 지정된 필드에 따라 내림차순으로 정렬되도록 지시합니다. <__order_by_desc>opened_date</__order_by_desc>
    __exclude_columns 결과 세트에서 제외할 쉼표로 구분된 필드 이름 목록을 지정합니다. <__exclude_columns>sys_created_on,sys_created_by,caller_id,우선순위</__exclude_columns>
    __한계 반환되는 기록 수를 제한합니다. <__limit>100</__limit>
    __first_row 세트의 시작부터 이 기록 수로 결과를 오프셋하도록 지시합니다. __last_row와 함께 사용하면 결과 창을 쿼리하는 효과가 있습니다. 결과에는 첫 번째 행 번호가 포함됩니다. <__first_row>250</__first_row>
    __last_row 세트의 시작부터 이 기록 수로 또는 지정된 경우 __start_row 값으로 결과가 제한되도록 지시합니다. __first_row와 함께 사용하면 결과 창을 쿼리하는 효과가 있습니다. 결과는 마지막 행 번호보다 작으며 마지막 행을 포함하지 않습니다. <__last_row>500</__last_row>
    __use_view 반환되는 결과를 제한하고 확장하는 데 사용할 양식 뷰를 이름으로 지정합니다. 양식 뷰에 caller_id.email과 같이 깊이 참조된 필드가 포함되어 있으면 이 필드도 결과에 반환됩니다. <__use_view>soap_view</__use_view>

    직접 웹 서비스 네임스페이스

    각 테이블에 고유한 네임스페이스 지정

    glide.wsdl.definition.use_unique_namespace 속성은 각 테이블의 직접 웹 서비스 WSDL에 고유한 targetNamespace 속성이 있는지 확인합니다. 이 속성은 기본적으로 이며, 테이블의 직접 웹 서비스 WSDL에서 http://www.service-now.com/<table name> 값을 사용해야 targetNamespace 합니다. false이거나 속성이 없는 경우 모든 테이블에서 동일한 targetNamespacehttp://www.service-now.com 값을 사용합니다. 또한 모든 테이블이 동일한 작업 이름을 공유하므로 둘 ServiceNow 이상의 웹 서비스를 사용하려고 시도하는 웹 서비스 클라이언트는 여러 테이블 간의 요청을 구별할 수 없습니다. 고유한 targetNamespace 값을 사용하면 웹 서비스 클라이언트가 여러 테이블 간에 요청을 구분할 수 있습니다.

    예를 들어, 인시던트 테이블에 대한 직접 웹 서비스 WSDL은 다음 targetNamepsace 값을 사용합니다.

    <wsdl:definitions xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"xmlns:http = "http://schemas.xmlsoap.org/wsdl/http/"xmlns:tns = "http://www.service-now.com/incident"xmlns:xsd = "http://www.w3.org/2001/XMLSchema"xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/"targetNamespace = "http://www.service-now.com/incident" ><wsdl:types><xsd:schema elementFormDefault = "unqualified"targetNamespace = "http://www.service-now.com/incident" >

    네임스페이스 요구 사항 설정

    ServiceNow의 WSDL 스키마는 기본적으로 elementFormDefault="unqualified". 이 속성은 로컬에서 선언된 요소가 인스턴스 문서에서 한정 targetNamepsace 되어야 하는지 여부를 나타냅니다. 이 속성의 값이 정규화되지 않은 경우 로컬로 선언된 targetNamepsace요소는 . 이 속성의 값이 한정되면 로컬로 선언된 targetNamepsace요소를 .

    그러나 이는 WSDL에서 생성된 클라이언트(예: .NET, Axis2, webMethods)가 임베디드 스키마를 처리하는 방식과 호환되지 않습니다. 결과적으로 스키마 네임스페이스가 제거되어 웹 서비스 응답을 구문 분석할 수 없게 됩니다.

    이 호환성 문제를 극복하기 위해 호출된 glide.wsdl.schema.UnqualifiedElementFormDefault 부울 속성이 도입되었습니다. 이 속성의 값은 기본적으로 true 입니다. false로 설정하면 WSDL에서 생성된 클라이언트가 웹 서비스 호출의 리턴 값을 구문 분석할 수 있습니다. 다음 웹 서비스 속성 페이지를 사용하여 이 속성을 수정할 수 있습니다. 시스템 속성 > 웹 서비스.

    중복 서비스 이름 허용

    기본적으로 동적으로 생성된 WSDL의 서비스 이름은 고유하며 다음과 같은 형식을 갖습니다.

    ServiceNow_<table name>

    중복된 서비스 이름을 허용하기 위해 관리자는 이 glide.wsdl.unique_service_name 속성을 false로 설정할 수 있습니다. 속성이 없는 경우 생성합니다.