스크립트된 새 SOAP 웹 서비스 작성

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 2분
  • 다음 예시에 따라 스크립트된 새 SOAP 웹 서비스를 작성합니다.

    웹 서비스 제공자 - 스크립트됨 플러그인이 활성화되면 시스템 웹 서비스 애플리케이션에서 새 모듈인 스크립트 기반 웹 서비스를 사용할 수 있습니다.

    그림 1. Scripted SOAP Web Services

    스크립트된 SOAP 웹 서비스

    예 1: 시스템 속성 검색

    첫 번째 단계는 수신 및 반환 매개 변수를 정의하는 것입니다. 이 작업은 입력 매개변수출력 매개변수에 항목을 추가하여 수행됩니다. 이러한 매개 변수는 의미 있는 WSDL을 생성하고 표시하는 데 사용되며 실제 웹 서비스 자체를 처리하는 기능에 추가되지는 않습니다.

    그림 2. GetProperty 입력 및 출력 매개변수

    GetProperty 입력 매개변수

    GetProperty 출력 매개변수

    매개변수는 웹 서비스의 스크립트에서 참조됩니다. 입력 매개변수는 다음 구문을 사용하여 검색됩니다.
    var a= request.property;
    출력 매개변수는 다음 구문을 사용하여 설정됩니다.
    response.property="ABC";

    다음 예제에서는 시스템 속성을 검색하고 SOAP 응답의 일부로 반환하는 방법을 보여 줍니다. 이 예제에서는 기본 ServiceNow 시스템 직접 웹 서비스가 수행할 수 없는 특정 작업을 수행하기 위해 사용자 지정 스크립트 웹 서비스를 만드는 방법을 보여 줍니다.

    그림 3. GetProperty 웹 서비스

    GetProperty 웹 서비스

    예제 2: Blackberry 주문

    직접 웹 서비스는 테이블과 해당 데이터에서 작동합니다. 다음 예는 스크립트된 웹 서비스를 호출하여 Blackberry 주문과 같은 비즈니스 솔루션을 시작하는 방법을 보여줍니다. 다음 입력 및 출력 매개변수는 Blackberry 예시를 지원합니다.

    그림 4. 입력 출력 Blackberry

    OrderBlackBerry 입력 매개변수

    OrderBlackBerry 출력 매개변수

    이 스크립트는 위의 매개변수를 사용하여 서비스 카탈로그 쇼핑 카트에 Blackberry를 추가하고 주문하는 방법을 보여줍니다. 요청 번호는 SOAP 응답의 request_number 필드에 반환됩니다.
    var cart = new Cart();
    var item = cart.addItem('e2132865c0a8016500108d9cee411699');
    cart.setVariable(item,'original', request.phone_number);
     
    // set the requested for
    var gr = new GlideRecord("sys_user");
    gr.addQuery("user_name", request.requested_for);
    gr.query();
    
    if(gr.next()){
      var cartGR = cart.getCart();
      cartGR.requested_for = gr.getUniqueValue();
      cartGR.update();
    }
     
    var rc = cart.placeOrder();
    response.request_number= rc.getValue('number');