Vorheriges Thema: ca_pam_getSOAPData(serviceURL, methodName, inlineText, soapVersion, stripXMLNamespacesFromResponse, callBack)Nächstes Thema: XML-Analyse


Beispiel: SOAP-Methode

Dieses Beispiel verwendet die CA Process Automation-Webservice-Methode "getStartRequestForms", um eine Tabelle mit allen Startauftragsformularen zu füllen. Die Webservice-Methode "getStartRequestForms" gibt alle Startauftragsformulare an einen angegebenen Ordner zurück.

Hinweis: Diese Methode verwendet die Methode "ca_pam_convertXMLToJSObject(xmlString, elementTagName)" (später in diesem Abschnitt beschrieben), um ein JavaScript-Objekt aus XML zu erstellen.

  1. Erstellen Sie ein Interaktionsauftragsformular und entwerfen Sie es entsprechend der folgenden Abbildung:

    SOAP-Methode in einem Formular

  2. Fügen Sie dem Interaktionsauftragsformular die folgenden Felder hinzu:
    soapService

    Legen Sie dieses Feld auf folgende URL fest:

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

    Legen Sie dieses Textfeld auf getStartRequestForms fest.

    soapData

    Füllen Sie diesen Textteil mit dem folgenden Code auf:

    <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

    Legen Sie das onClick-Attribut dieses Kontrollkästchens auf den Wert ca_fd.js.retreiveSRFAndPopulateTable() fest.

  3. Erstellen Sie eine Tabelle mit der Bezeichnung Srfs.
  4. Fügen Sie der Srfs-Tabelle Namen- und refPath-Textfelder als Spalten hinzu.
  5. Fügen Sie den folgenden Text im Skript-Abschnitt des Formulars hinzu:
    { 
      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. Klicken Sie auf "Speichern".
  7. Um CA Process Automation verifizieren zu lassen, dass die Tabelle "srfs" dynamisch mit Daten aufgefüllt wird, aktivieren Sie das Kontrollkästchen.

Das Skript wird ausgeführt, wenn sich der Wert des Kontrollkästchens ändert. Das Skript füllt die Tabelle "srfs" dynamisch mit den Startauftragsformularen auf, die vom SOAP-Aufruf zurückgegeben werden. Die Methode "getSOAPData" wird verwendet, um mithilfe einer SOAP-Abfrage die Daten abzurufen, und die Methode "convertXMLToJSObject" wird verwendet, um die XML-Antwort in ein JavaScript-Objekt zu konvertieren. Das JavaScript-Objekt kann dann verwendet werden, um die Tabelle mithilfe der Methode "ca_pam_setTableDataFromJSObject" dynamisch aufzufüllen.