Personnaliser la réponse

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 1 minute de lecture
  • Suivez cet exemple pour personnaliser et contrôler la charge utile XML d’une réponse SOAP.

    Avant de commencer

    Rôle requis : web_service_admin ou admin

    Procédure

    1. Créez un document XML personnalisé à l’aide de l’objet d’include de script XMLDocument .
      Remarque :
      Lors de la création d’un service Web scripté dans une application incluse dans le périmètre, vous devez utiliser l’API XMLDocument2 .
    2. Définissez son élément document sur la variable response.soapResponseElement dans un service Web scripté.
      Par exemple, le script de service Web scripté suivant :
      var xmldoc = new XMLDocument2();
          xmldoc.parseXML("<myResponse></myResponse>");
          xmldoc.createElementWithTextValue("element_one", "test");  
          xmldoc.createElementWithTextValue("element_two", "new2 value");  
      
          var el = xmldoc.createElement("element_three");
          xmldoc.setCurrentElement(el);  
          xmldoc.createElementWithTextValue("newChild", "test child element");
      
          response.soapResponseElement = xmldoc.getDocumentElement();
      Permet d’accepter la demande suivante :
      <soapenv:Envelope 
         xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
         xmlns:tes="http://www.service-now.com/TestCustomResponse">
         <soapenv:Header/>
         <soapenv:Body>
            <tes:execute/>
         </soapenv:Body>
      </soapenv:Envelope>
      Qui répondra par la réponse SOAP suivante :
      <soapenv:Envelope 
          xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
          xmlns:tes="http://www.service-now.com/TestCustomResponse">
         <soapenv:Header/>
         <soapenv:Body>
            <myResponse>
               <element_one>test</element_one>
               <element_two>new2 value</element_two>
               <element_three>
                  <newChild>test child element</newChild>
               </element_three>
            </myResponse>
         </soapenv:Body>
      </soapenv:Envelope>

      La prise en charge de WSDL devra être créée en externe. Le point de terminaison SOAP devra être renvoyé au service Web scripté en question.