Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

...

Pagetitle
TWsdlManager:ComplexInput
TWsdlManager:ComplexInput

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

Bloco de código
collapsefalse
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

language
Bloco de código
languagecpp
themeEclipse
cpp
titleExemplo 1
linenumberstrue
collapsefalse
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