Önceki Başlık: ca_pam_getSOAPData(serviceURL, methodName, inlineText, soapVersion, stripXMLNamespacesFromResponse, callBack)Sonraki Başlık: XML Ayrıştırma


Örnek: SOAP Yöntemi

Bu örnekte, bir tabloyu Kütüphanedeki Başlatma İsteği Formlarının tümüyle doldurmak için CA Process Automation getStartRequestForms web hizmeti yöntemi kullanılır. getStartRequestFormsweb hizmeti yöntemi, başlatma isteği formlarının tümünü belirtilen bir klasöre döndürür.

Not: Bu yöntem, XML'den bir JavaScript nesnesi oluşturmak için ca_pam_convertXMLToJSObject(xmlString, elementTagName) yöntemini (bu bölümde daha sonra anlatılacaktır) kullanır.

  1. Bir etkileşim isteği formu oluşturun ve onu aşağıdaki gösterildiği gibi tasarlayın:

    Formdaki SOAP Yöntemi

  2. Aşağıdaki alanları etkileşim isteği formuna ekleyin:
    soapService

    Bu alanı şu URL'ye ayarlayın:

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

    Bu alanı getStartRequestForms olarak ayarlayın.

    soapData

    Bu metin alanını aşağıdaki kodla doldurun:

    <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

    Bu onay kutusunun onClick özniteliğini ca_fd.js.retreiveSRFAndPopulateTable() değerine ayarlayın.

  3. srfs adlı bir tablo oluşturun.
  4. Ad ve refPath metin alanlarını, srfs tablosuna sütun olarak ekleyin.
  5. Aşağıdaki metni, formun Komut Dosyası bölümüne ekleyin:
    { 
      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. Kaydet'i tıklatın.
  7. CA Process Automation olanağının srfs tablosunun dinamik olarak verilerle doldurulduğunu doğrulamasını sağlamak için Onay Kutusu'nu seçin.

Onay kutusu değeri değiştirildiğinde komut dosyası çalışır. Komut dosyası, srfs tablosunu SOAP çağrısı tarafından döndürülen başlatma isteği formlarıyla dinamik olarak doldurur. getSOAPData yöntemi, verileri almak amacıyla bir SOAP sorgusu yapmak için kullanılır. convertXMLToJSObject ise yanıt XML'yi JavaScript nesnesine dönüştürmek için kullanılır. Bunun ardından JavaScript nesnesi, ca_pam_setTableDataFromJSObject yöntemini kullanarak tabloyu dinamik olarak doldurmak için kullanılabilir.