Rubrique précédente: ca_pam_getSOAPData(serviceURL, methodName, inlineText, soapVersion, stripXMLNamespacesFromResponse, callBack)Rubrique suivante: Analyse XML


Exemple : Méthode SOAP

Cet exemple utilise la méthode de service Web CA Process Automation getStartRequestForms pour remplir une table avec tous les formulaires de demande de démarrage dans la Bibliothèque. La méthode de service Web getStartRequestForms renvoie tous les formulaires de demande de démarrage vers un dossier spécifié.

Remarque : Cette méthode utilise la méthode (décrite ultérieurement dans cette section) ca_pam_convertXMLToJSObject(xmlString, elementTagName) pour créer un objet JavaScript à partir de XML.

  1. Créez un formulaire de demande d'interaction et concevez-le de la façon suivante :

    Méthode SOAP dans un formulaire

  2. Ajoutez les champs suivants au formulaire de demande d'interaction :
    soapService

    Définissez ce champ sur l'URL suivante :

    http://hostname:portNumber/itpam/soap
    
    soapAction

    Définissez ce champ sur getStartRequestForms.

    soapData

    Remplissez cette zone de texte avec le code suivant :

    <tns:getStartRequestForms xmlns:tns="http://www.ca.com/itpam">
     <tns:auth>
      <!--xsd:Choice Type-->
      <tns:token>token__</tns:token>
      <tns:user>pamadmin</tns:user>
      <tns:password>pamadmin</tns:password>
     </tns:auth>
     <tns:filter>
      <tns:lookUpPath isRecursive="true">/</tns:lookUpPath>
     </tns:filter>
    </tns:getStartRequestForms>
    
    retrieveSRF

    Définissez l'attribut onClick de cette case à cocher sur la valeur ca_fd.js.retreiveSRFAndPopulateTable().

  3. Créez une table nommée srfs.
  4. Ajoutez les champs de nom et de texte refPath sous forme de colonnes dans la table srfs.
  5. Ajoutez le texte suivant dans la section Script du formulaire :
    { 
      retreiveSRFAndPopulateTable: function() 
        { 
           var callBack = new Object();
           callBack.onSuccess = function(result)
             {
                var srfResult = ca_pam_ convertXMLToJSObject (result,'startRequest');
                var tableArray = new Array();
                for( i=0;i<srfResult .length;i++)
                  {
                     var object = new Object();
                     object.name = srfResult [i]["name"];
                     object.refPath = srfResult [i]["refPath"];
                     tableArray[i] = object ;
                  }
                ca_pam_clearTableData('Form.srfs',0,ca_pam_getTableRowCount('Form.srfs')-1);
                ca_pam_setTableDataFromJSObject('Form.srfs',tableArray);
             }
           callBack.onFailure = function(caught)
             {
                alert(caught);
             }
           ca_pam_getSOAPData(ca_pam_getTextFieldValue('Form.soapService'),ca_pam_getTextFieldValue('Form.soapAction'),ca_pam_getTextFieldValue('Form.soapData'),'SOAP_1_1',true,callBack);
        }
    }
    
  6. Cliquez sur Enregistrer.
  7. Pour que CA Process Automation vérifie que la table srfs est remplie de données de façon dynamique, sélectionnez Case à cocher.

Le script s'exécute lorsque la valeur est modifiée dans la case à cocher. Le script remplit la table srfs de façon dynamique avec les formulaires de demande de démarrage renvoyés par l'appel SOAP. La méthode getSOAPData est utilisée pour faire une requête SOAP pour récupérer les données et convertXMLToJSObject est utilisé pour convertir la réponse XML en un objet JavaScript. Vous pouvez alors utiliser l'objet JavaScript pour remplir la table de façon dynamique à l'aide de la méthode ca_pam_setTableDataFromJSObject.