---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Exemplo de inclusão de script WSDL estático

# Exemplo de inclusão de script WSDL estático {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Este exemplo demonstra a inclusão de script FakestockValue que implementa grande parte do comportamento estático de WSDL.

    var FakeStockValue = Class.create();
     
    FakeStockValue.prototype = {
      initialize : function(requestXML) {
        //Use some backend XML utilities...you could use string tools if you wish
        this.xmlutil = Packages.com.glide.util.XMLUtil;
        //converting the string to an XML Document
        this.fSoapDoc = new XMLDocument(requestXML);
      },
     
      process : function() {
        var soapBody = this.fSoapDoc.getNode("/Envelope/Body");
        //Our WSDL was formatted to have the only first child element be the function
        var funcNode = this.xmlutil.getFirstChildElement(soapBody);
        var nodeName = this.xmlutil.getNodeNameNS(funcNode);
     
        //If the function for this SOAP request is TradePriceRequest, perform the necessary actions
        if (nodeName == "TradePriceRequest") {
          return this.fakeOutTradePriceRequest(funcNode);
        }
     
        //Couldn't find any supported functions in this SOAP request
        return this.generateSoapFault("un-supported API call: " + nodeName);
      },
     
      fakeOutTradePriceRequest : function (funcNode) {
        //Create the beginnings of our XML response
        var r = new XMLDocument("<GetLastTradePriceOutput xmlns='https://www.service-now.com/vws/FakeStockValue'/>");
     
        //Do the necessary actions here...we're going to get the USER ID of the user
        //used to make this SOAP call.  Then we will return the 
        //stock symbol they were asking about
        var usersysid = gs.getUserID();
        var now_GR = new GlideRecord("sys_user");
        gr.get(usersysid);
        var username = gr.user_name;
        var quoteSymbol = this.xmlutil.getText(funcNode);
        //Create a "message" element to store our response message
        r.createElement("message", username + ", You were looking for a quote on "+quoteSymbol);
        return r.getDocumentElement();
      },
     
     
      generateSoapFault : function (str) {
         var f = "<SOAP-ENV:Fault>" +
                   "<faultcode xsi:type='xsd:string'>SOAP-ENV:FakeStockValue</faultcode>" +
                   "<faultstring xsi:type='xsd:string'>" + str + 
                   "</faultstring>" +
                 "</SOAP-ENV:Fault>"
         var s = new XMLDocument(f);
         return s.getDocumentElement();
      }
    }

## inicializar função

A função de inicialização usa a cadeia de caracteres de solicitação XML e a converte em um objeto de documento XML no qual você pode navegar e manipular usando bibliotecas. Como alternativa, você pode deixar a solicitação XML como uma cadeia de caracteres e navegar usando expressões regulares.

## função de processo

A função de processo é chamada pelo serviço web com script. Esta função obtém o primeiro elemento secundário no XML após o elemento do corpo. O WSDL usa este elemento secundário para determinar qual função usar. Neste WSDL, há apenas uma função possível, mas a maioria dos WSDLs fornece muitas funções. Se mais funções estivessem disponíveis, haveria mais declarações "if" que testaram o primeiro elemento secundário para os vários nomes de função.

## Função falsoOutTradePriceRequest

A função falseOutTradePriceRequest é a implementação da única função disponível no WSDL. Esta função pesquisa o usuário autenticado pela solicitação SOAP, recupera o user_name e o retorna para o cliente SOAP. A função falseOutTradePriceRequest pode ser expandida para executar atividades úteis, como pesquisar um símbolo de ação e retornar o último preço negociado.

## Função generateSoapFault

A função generateSoapFault retorna um erro SOAP que pode ser chamado se houver problemas.

