Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 6 Atual »

Retorna os tipos complexos utilizados na mensagem do tipo input para a operação definida que possuem número variável de ocorrências (minOccurs < maxOccurs).

Sintaxe

ComplexInput()

Retorno

Nome

Tipo

Descrição

aComplex

vetor

Retorna um array contendo os tipos complexos da mensagem do tipo input da operação atual com número variável de ocorrências.

Observações

  • Cada elemento do array de retorno é um outro array contendo os dados de cada tipo complexo.
  • Os dados do array para cada tipo complexo são:

    Índice

    Descrição

    Tipo

    1

    ID

    numérico

    2

    Nome do Parâmetro

    caractere

    3

    Valor Mínimo de Ocorrências

    numérico

    4

    Valor Máximo de Ocorrências

    numérico

    5

    String com as tags pai do tipo complexo seguidas de "#" e o índice da tag na mensagem, separadas por "."

    caractere

    6

    Nome do tipo do parâmetro

    caractere

  • Até a build 7.00.131227A-20150114 o índice 5 do array de retorno era um array com as tags pai do tipo complexo.
  • O índice 6 do retorno estará disponível em builds superiores a 7.00.131227A.
  • Esse método deve ser utilizado apenas para consulta inicial dos elementos complexos que aparecem na mensagem, pois caso seja necessário definir algum dos elementos com valor maior do que 1, e esse elemento tiver outros elementos complexos internamente, a classe irá multiplicar os elementos internos, o que invalida a lista retornada pelo método, uma vez que internamente os elementos estarão diferentes.
  • Para utilizar o método NextComplex após ter chamado ComplexInput, deve-se chamar o método SetOperation com o mesmo nome de operação passado anteriormente, para poder reiniciar as listas internas de elementos simples e complexos da mensagem.

Exemplos

Exemplo 1
User Function Teste()
  Local oWsdl
  Local xRet
  Local aComplex := {}
  
  // Cria o objeto da classe TWsdlManager
  oWsdl := TWsdlManager():New()
  
  // Faz o parse de um arquivo
  xRet := oWsdl:ParseFile( "\rapidao.wsdl" )
  if xRet == .F.
    conout( "Erro: " + oWsdl:cError )
    Return
  endif
  
  // Define a operação
  xRet := oWsdl:SetOperation( "executedanfeReceipt" )
  if xRet == .F.
    conout( "Erro: " + oWsdl:cError )
    Return
  endif
  
  // Lista os tipos complexos da mensagem de input envolvida na operação
  aComplex := oWsdl:ComplexInput()
  varinfo( "", aComplex )
Return
  • Sem rótulos