Tópico anterior: ca_pam_getSOAPData(serviceURL, methodName, inlineText, soapVersion, stripXMLNamespacesFromResponse, callBack)Próximo tópico: Análise de XML


Exemplo: método SOAP

Este exemplo usa o método de serviço web getStartRequestForms do CA Process Automation para preencher uma tabela com todos os Formulários de solicitação inicial na Biblioteca. O método de serviço web getStartRequestFormsweb retorna todos os formulários de solicitação inicial em uma pasta especificada.

Observação: esse método usa o método ca_pam_convertXMLToJSObject(xmlString, elementTagName) (descrito mais adiante nesta seção) para criar um objeto JavaScript a partir do XML.

  1. Crie um formulário de solicitação de interação e o elabore como mostra a ilustração a seguir:

    Método SOAP em um formulário

  2. Adicione os campos a seguir ao formulário de solicitação de interação:
    soapService

    Defina esse campo com o seguinte URL:

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

    Defina esse campo como getStartRequestForms.

    soapData

    Preencha essa área de texto com o seguinte código:

    <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

    Defina o atributo onClick desta caixa de seleção com o valor ca_fd.js.retreiveSRFAndPopulateTable().

  3. Crie uma tabela denominada srfs.
  4. Adicione nome e campos de texto refPath como colunas à tabela srfs.
  5. Adicione o seguinte texto na seção Script do formulário:
    { 
      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. Clique em Salvar.
  7. Para que o CA Process Automation verifique se a tabela srfs é preenchida com dados dinamicamente, marque a caixa de seleção.

O script é executado quando o valor da caixa de seleção é alterado. O script preenche a tabela srfs de forma dinâmica com os formulários de solicitação inicial retornados pela chamada SOAP. O método getSOAPData é usado para criar uma consulta SOAP para recuperar os dados, e o convertXMLToJSObject é usado para converter o XML de resposta em um objeto JavaScript. O objeto JavaScript pode então ser usado para preencher a tabela de forma dinâmica, usando o método ca_pam_setTableDataFromJSObject.