임포트 세트 웹 서비스 생성

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기3분
  • 웹 서비스 임포트 세트 테이블을 생성하여 임포트한 데이터를 준비하고 변환하는 방법을 정의합니다.

    다음으로 이동 모두 > 시스템 웹 서비스 > 인바운드 > 새로 작성.

    그림 1. 웹 서비스 작성

    웹 서비스의 이름은 임포트 세트 테이블의 테이블 이름이고 레이블 필드는 결과 테이블 필드입니다.

    웹 서비스 생성 후 변환 맵을 생성하려면 변환 맵 생성 확인란을 선택하고 데이터를 변환할 대상 테이블을 선택합니다. 생성 버튼을 선택하면 웹 서비스가 생성되고 즉시 테이블 변환 맵 폼에 배치됩니다. 그런 다음 계속해서 변환 맵 또는 스크립트를 지정할 수 있습니다.

    웹 서비스 필드

    이 웹 서비스에 사용할 수 있는 필드입니다. 기본적으로 모든 필드는 xsd:string의 XSD 유형으로 게시됩니다. 이름은 웹 서비스에 대해 노출되는 필드이므로 WSDL에서 필드의 이름으로 표시됩니다. 레이블은 임포트 세트 테이블에 표시되는 필드의 레이블입니다.

    이 목록에서 기존 웹 서비스 필드를 추가, 삭제 표시 또는 수정(필드 두 번 클릭)할 수 있습니다.
    주:
    웹 서비스 필드를 추가한 후 생성 을 클릭하여 웹 서비스 임포트 세트 테이블을 생성합니다.

    웹 서비스를 만든 후 다른 필드를 추가하려면 대상 테이블을 찾아 해당 테이블에 필드를 추가합니다.

    웹 서비스 임포트 세트 매핑

    웹 서비스 임포트 세트를 작성하는 동안 선택적으로 해당 임포트 세트에 대한 변환 맵을 만들 수 있습니다.

    서비스가 호출될 때 서비스에 대해 모든 변환 맵이 실행되고 임포트 세트 모드가 "동기"(기본값)로 설정됩니다.

    다음 이미지는 알림 웹 서비스 임포트 세트와 연결된 변환 맵의 예입니다.
    그림 2. 알림 변환 맵

    웹 서비스 응답 값 추가

    웹 서비스 임포트 세트와 연결된 변환 맵 스크립트에서 일부 변수 값은 웹 서비스의 응답 값을 변경할 수 있습니다. 변환 맵 스크립트에서 사용할 수 있는 일반 변수 외에도, 테이블에는 사용 가능한 변수와 그 효과가 문서화되어 있습니다.
    표 1. 웹 서비스 응답 값 추가
    변수 이름 유형 설명
    response 출력 객체 웹 서비스 임포트 세트 삽입의 출력 응답을 사용자 지정하는 데 사용되는 동적으로 작성된 응답 요소를 포함하는 Javascript 객체입니다.

    // create new elements called "transaction_id" 
    // and "hello" in the web service response
    response.transaction_id="abc123";
    response.hello="world";
     
    status_message="message 1";
    // this is the normal status_message variable
    코드 조각 예제에서는 웹 서비스 소비자에 대해 다음과 같은 응답이 다시 생성됩니다
    <soapenv:Envelopexmlns:imp="http://www.service-now.com/imp_notification"                  
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/><soapenv:Body>
    <insertResponse xmlns="http://www.service-now.com/imp_notification">
      <sys_id>969d157c0a0a0baf008ba5770ffa798c</sys_id>
      <table>incident</table>
      <display_name>number</display_name>
      <display_value>INC0010091</display_value>
      <status>inserted</status>
      <status_message>message 1</status_message>
      <transaction_id>abc123</transaction_id>
      <hello>world</hello>
    </insertResponse>
    </soapenv:Body></soapenv:Envelope>

    웹 서비스 임포트 세트 디버깅

    시스템으로 들어오는 SOAP 요청을 디버그하려면 시스템 속성 glide.processor.debug.SOAPProcessor를 만듭니다.

    작성한 후 true 로 설정하여 모든 SOAP 요청이 시스템 로그에 기록되도록 합니다. 시스템 로그의 크기를 관리 가능한 길이로 유지하도록 완료되면 false 로 설정합니다.