직접 웹 서비스

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

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

    확장 쿼리 매개변수

    확장 쿼리 매개변수를 사용하면 get, getKeysgetRecords 함수를 사용할 때 SOAP 쿼리의 반환 결과를 필터링하고 수정할 수 있습니다.
    주:
    확장된 쿼리 요소 이름 앞에는 두 개의 밑줄 문자가 옵니다.
    표 1. 사용 가능한 확장 쿼리 매개변수
    매개변수 설명 예제
    __encoded_query 반환된 결과를 필터링하는 데 사용할 인코딩된 쿼리 문자열을 지정합니다. 인코딩된 쿼리 문자열 형식은 sysparm_query URL 매개 변수에 지정할 수 있는 값과 비슷합니다. RSS 피드 생성기 예제에서 인코딩된 쿼리 작성 예제를 참조하세요. <__encoded_query>active=true^category='하드웨어'</__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 속성을 갖도록 합니다. 이 속성은 기본적으로 true이며, 테이블의 직접 웹 서비스 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 된 boolean 속성이 도입되었습니다. 이 속성의 기본값은 true 입니다. 이를 false로 설정하면 WSDL에서 생성된 클라이언트가 웹 서비스 호출의 리턴 값을 구문 분석할 수 있습니다. 다음 웹 서비스 속성 페이지를 사용하여 이 속성을 수정할 수 있습니다. 시스템 속성 > 웹 서비스.

    중복 서비스 이름 허용

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

    ServiceNow_<table name>

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