Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Após feito o parse do WSDL, a classe irá disponibilizar uma lista com os elementos que serão definidos na mensagem SOAP que será enviada. A lista possui o nome dos elementos e o id interno deles. Toda vez que for feito o parse do WSDL, o id será o mesmo. Logo, para definir o valor de um elemento utiliza-se o id do mesmo. Mas, é possível também definir o valor passando o nome do elemento, fazendo com que a classe procure o mesmo (o primeiro encontrado ou de acordo com os elementos pai) e defina seu valor.
  • WSDL - Web Services Description Language (Linguagem para descrição de web services) é uma linguagem baseada em XML para descrição dos serviços, operações e métodos de um web service. O documento gerado a partir do documento WSDL é no formato SOAP. Para mais informações sobre WSDL acesse o endereço: http://www.w3.org/TR/wsdl.
  • SOAP - Simple Object Access Protocol (Protocolo Simples de Acesso a Objetos) é um protocolo baseado em XML para troca de informações estruturadas em plataforma descentralizada e distribuída, normalmente web services. Para mais informações acesse: http://www.w3.org/TR/soap/.
  • Para obter mais informações dos modelos regulamentados pela W3C - World Wide Web Consortium, acesso o endereço: http://www.w3c.org.

Exemplos:
 User Function Teste()

...

   Local oWsdl   Local xRet   Local aOps := {}, aComplex := {}, aSimple := {}

...

      //

...

 Cria o objeto da classe TWsdlManager   oWsdl := TWsdlManager():New()

...

      //

...

 Faz o parse de uma URL   xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

   if xRet == .F.

...

     conout( "Erro: " 

...

 oWsdl:cError )

...

     Return   endif      aOps := oWsdl:ListOperations()

...

      if Len( aOps ) ==

...

 0     conout( "Erro: " 

...

 oWsdl:cError )

...

     Return   endif      varinfo( "", aOps )

...

      //

...

 Define a operação   xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

   //xRet := oWsdl:SetOperation( aOps[1][1] )

...

   if xRet == .F.

...

      conout( "Erro: " 

...

 oWsdl:cError )

...

      Return   endif      aComplex := oWsdl:ComplexInput()

...

   varinfo( "", aComplex )

...

      aSimple := oWsdl:SimpleInput()

...

   varinfo( "", aSimple )

...

      //

...

 Define o valor de cada parâmeto necessário   xRet := oWsdl:SetValue( 0, "90210" )

...

   //xRet := oWsdl:SetValue( aSimple[1][1], "90210" )

...

   if xRet == .F.

...

     conout( "Erro: " 

...

 oWsdl:cError )

...

     Return   endif      // Exibe a mensagem que será enviada   conout( oWsdl:GetSoapMsg() )

...

      //

...

 Envia a mensagem SOAP ao servidor   xRet := oWsdl:SendSoapMsg()

...

   if xRet == .F.

...

     conout( "Erro: " 

...

 oWsdl:cError )

...

     Return   endif      // Pega a mensagem de resposta   conout( oWsdl:GetSoapResponse() )

...

      if xRet == .F.

...

     conout( "Erro: " 

...

 oWsdl:cError )

...

     Return   endif Return
Abrangência:
Builds superiores a 121227P.

...

Atributos

 

lógico

lVerbose

          

Habilita log em arquivo para os comandos SOAP enviados e recebidos. Valor padrão: .F.

 

lógico

lStatus

          

Obtém status de sucesso (.T.) ou falha (.F.) da operação realizada. Atributo somente leitura.

 

lógico

lEnableOptAttr

          

Habilita no comando SOAP de envio os atributos opcionais. Valor padrão: .F.

 

caractere

cCurrentOperation

          

Obtém o nome da operação atual. Atributo somente leitura.

 

numérico

nTimeout

          

Obtém o valor de timeout em segundos para envio e recebimento dos documentos SOAP. Valor padrão: 0 - sem timeout.

 

lógico

lProcResp

          

Habilita processamento da mensagem de resposta do servidor WSDL. Valor padrão: .T.

 

caractere

cError

          

Obtém a mensagem de erro para o último comando executado. Atributo somente leitura.

 

caractere

cFaultCode

          

Obtém fault code da mensagem de retorno do servidor. Atributo somente leitura.

 

caractere

cFaultSubCode

          

Obtém fault subcode da mensagem de retorno do servidor. Atributo somente leitura.

 

caractere

cFaultString

          

Obtém fault string da mensagem de retorno do servidor. Atributo somente leitura.

 

caractere

cFaultActor

          

Obtém fault actor da mensagem de retorno do servidor. Atributo somente leitura.

caractere

cLocation

          

Obtém o endreço do servidor que receberá a mensagem SOAP.

somente leitura.

 

caractere

cLocation

          

Obtém o endreço do servidor que receberá a mensagem SOAP.

 

numérico

nSSLVersion

          

Obtém o protoclo SSL usado na conexão. Valores válidos: 0 - SSLv3 + TLSv1, 1 - TLSv1, 2 - SSLv2, 3 - SSlv3. Valor padrão: 0.

 

caractere

cSSLCACertFile

          

Obtém o arquivo de certificado de CA usado para conexão SSL com o servidor que receberá a mensagem SOAP. O atributo aceita apenas caminho de arquivos do server caso contrário mostrará o erro "Invalid SSL CA Certificate File – Only Server Path allowed".

 

caractere

cSSLCertFile

          

Obtém o arquivo de certificado cliente usado para conexão SSL com o servidor que receberá a mensagem SOAP. O atributo aceita apenas caminho de arquivos do server caso contrário mostrará o erro "Invalid SSL Certificate File – Only Server Path allowed".

 

caractere

cSSLKeyFile

          

Obtém o arquivo de chave primária usado para conexão SSL com o servidor que receberá a mensagem SOAP. O atributo aceita apenas caminho de arquivos do server caso contrário mostrará o erro "Invalid SSL Key File – Only Server Path allowed".

 

caractere

cSSLKeyPwd

          

Obtém a senha para o certificado usado para conexão SSL com o servidor que receberá a mensagem SOAP.

 

lógico

lUseNSPrefix

          

Define se vai usar prefixo de namespace antes dos nomes das tags na mensagem SOAP que será enviada. Valor padrão: .F.

 

lógico

lCheckInput

          

Define se vai verificar as ocorrências dos parâmetros de entrada da mensagem SOAP que será enviada, quando essa não for uma mensagem personalizada. Valor padrão: .T.

 


Resumo dos Métodos

 

 

New()

          

Cria uma nova instância da classe TWsdlManager.

 

lógico

ParseFile(caractere cFile)

          

Realiza o parse de um arquivo WSDL através do parâmetro recebido indicando o local do mesmo.

 

lógico

ParseURL(caractere cURL)

          

Realiza o parse de uma URL que aponta para um arquivo WSDL através do parâmetro recebido indicando o local do mesmo.

 

vetor

ListOperations()

          

Lista as operações definidas no arquivo WSDL.

 

lógico

SetOperation(caractere cOperation)

          

O método define a operação atual através do parâmetro cOperation.

 

caractere

GetWsdlDoc()

          

Retorna a documentação do documento WSDL.

 

vetor

SimpleInput()

          

Lista os tipos simples de input para a operação definida.

 

vetor

ComplexInput()

          

Lista os tipos complexos de input para a operação definida que possuem número variável de ocorrências (minOccurs < maxOccurs --).

 

vetor

SimpleOutput()

          

Lista os tipos simples de output para a operação definida.

 

vetor

ComplexOutput()

          

Lista os tipos complexos de output para a operação definida.

 

vetor

SimpleFault()

          

Lista os tipos simples de fault para a operação definida.

 

vetor

ComplexFault()

          

Lista os tipos complexos de fault para a operação definida.

 

lógico

SetComplexOccurs(numérico nId, numérico nValue)

          

O método define o número de vezes que um elemento do tipo complexo vai aparecer.

 

lógico

SetValue(numérico nId, caractere cValue)

          

O método define o valor de entrada para um elemento do WSDL.

 

lógico

SetValues(numérico nId, vetor aValues)

          

O método define um vetor de valores de entrada para um elemento do WSDL.

 

lógico

SetFirst(caractere cName, caractere cValue)

          

O método define o valor de entrada para a primeira ocorrência de um elemento do WSDL.

 

lógico

SetFirstArray(caractere cName, vetor aValues)

          

O método define um vetor de valores de entrada para a primeira ocorrência um elemento do WSDL.

 

lógico

SetValPar(caractere cName, vetor aParents, caractere cValue)

          

O método define o valor de entrada para um elemento do WSDL, dado os elementos pais.

 

lógico

SetValParArray(caractere cName, vetor aParents, vetor aValues)

          

O método define um vetor de valores de entrada para um elemento do WSDL, dado os elementos pais.

 

lógico

AddHttpHeader(caractere cName, caractere cValue)

          

O método adiciona um cabeçalho HTTP à lista de cabeçalhos que serão enviados na mensagem SOAP destinada ao servidor do WSDL.

 

caractere

GetSoapMsg()

          

Retorna o documento SOAP que será enviado ao servidor.

 

lógico

SendSoapMsg(caractere cMsg)

          

Envio o documento SOAP gerado ao endereço definido.

 

caractere

GetSoapResponse()

          

Retorna o documento SOAP de resposta rcebido do servidor.

 

caractere

GetParsedResponse()

          

Retorna uma string contendo a mensagem SOAP de resposta parseada.

 

 

SetProxy(caractere cHost, numérico nPort)

          

Define o host e porta do proxy para fazer a conexão HTTP.

 

lógico

GetProxy(caractere @cHost, numérico @nPort)

          

Retorna o host e porta do proxy para fazer a conexão HTTP.

 

 

SetCredentials(caractere cUser, caractere cPass)

          

Define o usuário e senha do proxy para fazer a conexão HTTP.

 

lógico

GetCredentials(caractere @cUser, caractere @cPass)

          

Retorna o usuário e senha do proxy para fazer a conexão HTTP.

 

 

SetAuthentication(caractere cUser, caractere cPass)

          

Define o usuário e senha usados para fazer autenticação HTTP.

 

lógico

GetAuthentication(caractere @cUser, caractere @cPass)

          

Retorna o usuário e senha usados para fazer autenticação HTTP.

 


Detalhes dos Métodos

Âncora
new()
new()
New
New()
Cria uma nova instância da classe TWsdlManager.

...

Parâmetros:
caractere cFile (obrigatório) - Indica o diretório, a partir do rootpath, e o nome de um arquivo WSDL.
Retorno:
lógico lRet - Retorna verdadeiro (.T.) caso tenha sido realizado o parse com sucesso. Caso contrário será retornado falso Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de um arquivo     xRet := oWsdl:ParseFile( "\Weather.wsdl" )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

     else       conout( "Parse feito com sucesso" )     endif   Return

...

Âncora
parseurl()
parseurl()
ParseURL
lógico ParseURL(caractere cURL)
Realiza o parse de uma URL que aponta para um arquivo WSDL através do parâmetro recebido indicando o local do mesmo.

...

Parâmetros:
caractere cURL (obrigatório) - Indica a URL apontando para um arquivo WSDL. deve iniciar com http:// ou https://.
Retorno:
lógico lRet - Retorna verdadeiro (.T.) caso tenha sido realizado o parse com sucesso Caso contrário será retornado falso . Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

     else       conout( "Parse feito com sucesso" )

...

     endif   Return

...

Âncora
listoperations()
listoperations()
ListOperations
vetor ListOperations()
Lista as operações definidas no arquivo WSDL.
Retorno:
vetor aOps - Retorna um array de subarray contendo o nome e a documentação de cada operação disponível.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aOps := {}

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

       Return     endif          // Lista as operações disponíveis     aOps := oWsdl:ListOperations()

...

     varinfo( "", aOps )

...

   Return

...

Âncora
setoperation()
setoperation()
SetOperation
lógico SetOperation(caractere cOperation)
O método define a operação atual através do parâmetro cOperation.

...

Parâmetros:
caractere cOperation (obrigatório) - Nome da operação que será definida como a atual.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()     Local oWsdl     Local xRet     Local aOps := {}

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          aOps := oWsdl:ListOperations()

...

          if Len( aOps ) ==

...

 0       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          varinfo( "", aOps )

...

          //

...

 Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     //xRet := oWsdl:SetOperation( aOps[1][1] )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:

...

cError )       Return     endif   Return

...

Âncora
getwsdldoc()
getwsdldoc()
GetWsdlDoc
caractere GetWsdlDoc()
Retorna a documentação do documento WSDL.
Retorno:
caractere cRet - Retorna a documentação do documento WSDL ou uma string vazia caso não exista.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://www.webservicex.net/globalweather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

       Return     endif          conout( oWsdl:GetWsdlDoc() )

...

   Return

...

Âncora
simpleinput()
simpleinput()
SimpleInput
vetor SimpleInput()
Lista os tipos simples de input para a operação definida.
Retorno:
vetor aSimple - Retorna um array de subarray contendo o id, nome do parâmetro, valor mínimo de ocorrências, valor máximo de ocorrências e um array com as tags pai de cada tipo simples de input da operação definida.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aSimple := {}

...

          //

...

 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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          aSimple := oWsdl:SimpleInput()

...

     varinfo( "", aSimple )

...

   Return

...

Âncora
complexinput()
complexinput()
ComplexInput
vetor ComplexInput()
Lista os tipos complexos de input para a operação definida que possuem número variável de ocorrências (minOccurs < maxOccurs --).
Retorno:
vetor aComplex - Retorna um array de subarray contendo o id, nome do parâmetro, valor mínimo de ocorrências, valor máximo de ocorrências e um array com as tags pai de cada tipo complexo de input da operação definida onde mínimo < máximo.
Exemplos:

...

   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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          aComplex := oWsdl:ComplexInput()

...

     varinfo( "", aComplex )

...

   Return

...

Âncora
simpleoutput()
simpleoutput()
SimpleOutput
vetor SimpleOutput()
Lista os tipos simples de output para a operação definida.
Retorno:
vetor aSimple - Retorna um array de subarray contendo o id, nome do parâmetro, valor mínimo de ocorrências, valor máximo de ocorrências e um array com as tags pai de cada tipo simples de output da operação definida.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aSimple := {}

...

          //

...

 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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )       Return     endif          aSimple := oWsdl:SimpleOutput()

...

     varinfo( "", aSimple )

...

   Return

...

Âncora
complexoutput()
complexoutput()
ComplexOutput
vetor ComplexOutput()
Lista os tipos complexos de output para a operação definida.
Retorno:
vetor aComplex - Retorna um array de subarray contendo o id, nome do parâmetro, valor mínimo de ocorrências, valor máximo de ocorrências e um array com as tags pai de cada tipo complexo de output da operação definida.
Exemplos:

...

   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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          aComplex := oWsdl:ComplexOutput()

...

     varinfo( "", aComplex )

...

   Return

...

Âncora
simplefault()
simplefault()
SimpleFault
vetor SimpleFault()
Lista os tipos simples de fault para a operação definida.
Retorno:
vetor aSimple - Retorna um array de subarray contendo o id, nome do parâmetro, valor mínimo de ocorrências, valor máximo de ocorrências e um array com as tags pai de cada tipo simples de fault da operação definida.
Exemplos:

...

:
   User Function Teste()     Local oWsdl     Local xRet     Local aSimple := {}

...

          //

...

 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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          aSimple := oWsdl:SimpleFault()

...

     varinfo( "", aSimple )

...

   Return

...

Âncora
complexfault()
complexfault()
ComplexFault
vetor ComplexFault()
Lista os tipos complexos de fault para a operação definida.
Retorno:
vetor aComplex - Retorna um array de subarray contendo o id, nome do parâmetro, valor mínimo de ocorrências, valor máximo de ocorrências e um array com as tags pai de cada tipo complexo de fault da operação definida.
Exemplos:

...

   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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          aComplex := oWsdl:ComplexFault()

...

     varinfo( "", aComplex )

...

   Return

...

Âncora
setcomplexoccurs()
setcomplexoccurs()
SetComplexOccurs
lógico SetComplexOccurs(numérico nId, numérico nValue)
O método define o número de vezes que um elemento do tipo complexo vai aparecer.

...

Parâmetros:
numérico nId (obrigatório) - ID do elemento igual ao informado pela função ComplexInput.
numérico nValue (obrigatório) - Quantidade de vezes que o elemento vai aparecer.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   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          xRet := oWsdl:SetOperation( "executedanfeReceipt" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Pega a lista de tipos complexos     aComplex := oWsdl:ComplexInput()

...

          // Define para o primeiro tipo complexo que o número de ocorrências será 2.

...

     oWsdl:SetComplexOccurs( aComplex[1][1], 2 )

...

   Return

...

Âncora
setvalue()
setvalue()
SetValue
lógico SetValue(numérico nId, caractere cValue)
O método define o valor de entrada para um elemento do WSDL.

...

Parâmetros:
numérico nId (obrigatório) - ID do elemento igual ao informada pela função SimpleInput.
caractere cValue (obrigatório) - Valor para esse elemento.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

        conout( "Erro: " 

...

 oWsdl:cError )

...

        Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValue( 0, "90210" )

...

     if xRet == .F.

...

        conout( "Erro: " + oWsdl:cError )

...

        Return     endif   Return

...

Âncora
setvalues()
setvalues()
SetValues
lógico SetValues(numérico nId, vetor aValues)
O método define um vetor de valores de entrada para um elemento do WSDL.

...

Parâmetros:
numérico nId (obrigatório) - ID do elemento igual ao informada pela função SimpleInput.
vetor aValues (obrigatório) - Vetor de valores para esse elemento.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aValues := {}

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError 

...

)       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     aAdd( aValues, "90210" )

...

     xRet := oWsdl:SetValues( 0, aValues )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

       Return     endif   Return

...

Âncora
setfirst()
setfirst()
SetFirst
lógico SetFirst(caractere cName, caractere cValue)
O método define o valor de entrada para a primeira ocorrência de um elemento do WSDL.

...

Parâmetros:
caractere cName (obrigatório) - Nome do elemento igual ao informado pela função SimpleInput.
caractere cValue (obrigatório) - Valor para esse elemento.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

        conout( "Erro: " 

...

 oWsdl:cError )

...

        Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetFirst( "ZIP", "90210" )

...

     if xRet == .F.

...

        conout( "Erro: " + oWsdl:cError )

...

        Return     endif   Return

...

Âncora
setfirstarray()
setfirstarray()
SetFirstArray
lógico SetFirstArray(caractere cName, vetor aValues)
O método define um vetor de valores de entrada para a primeira ocorrência um elemento do WSDL.

...

Parâmetros:
caractere cName (obrigatório) - Nome do elemento igual ao informado pela função SimpleInput.
vetor aValues (obrigatório) - Vetor de valores para esse elemento.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aValues := {}

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     aAdd( aValues, "90210" )

...

     xRet := oWsdl:SetFirstArray( "ZIP", aValues )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

       Return     endif   Return

...

Âncora
setvalpar()
setvalpar()
SetValPar
lógico SetValPar(caractere cName, vetor aParents, caractere cValue)
O método define o valor de entrada para um elemento do WSDL, dado os elementos pais.

...

Parâmetros:
caractere cName (obrigatório) - Nome do elemento igual ao informado pela função SimpleInput.
vetor aParents (obrigatório) - Vetor com os elementos pais de cName.
caractere cValue (obrigatório) - Valor para esse elemento.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aParents := {}

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

        conout( "Erro: " 

...

 oWsdl:cError )

...

        Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          //Define os elementos pai     aAdd( aParents, "GetCityForecastByZIP" )

...

          //

...

 Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValPar( "ZIP", aParents, "90210" )

...

     if xRet == .F.

...

        conout( "Erro: " + oWsdl:cError )

...

        Return     endif   Return

...

Âncora
setvalpararray()
setvalpararray()
SetValParArray
lógico SetValParArray(caractere cName, vetor aParents, vetor aValues)
O método define um vetor de valores de entrada para um elemento do WSDL, dado os elementos pais.

...

Parâmetros:
caractere cName (obrigatório) - Nome do elemento igual ao informado pela função SimpleInput.
vetor aParents (obrigatório) - Vetor com os elementos pais de cName.
vetor aValues (obrigatório) - Vetor de valores para esse elemento.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga definir. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local aParents := {}, aValues := {}

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          //Define os elementos pai     aAdd( aParents, "GetCityForecastByZIP" )

...

          //

...

 Define o valor de cada parâmeto necessário     aAdd( aValues, "90210" )

...

     xRet := oWsdl:SetValParArray( "ZIP", aParents, aValues )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

       Return     endif   Return

...

Âncora
addhttpheader()
addhttpheader()
AddHttpHeader
lógico AddHttpHeader(caractere cName, caractere cValue)
O método adiciona um cabeçalho HTTP à lista de cabeçalhos que serão enviados na mensagem SOAP destinada ao servidor do WSDL.

...

Parâmetros:
caractere cName (obrigatório) - Nome do cabeçalho que será adicionado.
caractere cValue (obrigatório) - Valor do cabeçalho que será adicionado.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga adicionar. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValue( 0, "90210" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Adiciona cabeçalho aos cabeçalhos HTTP que serão enviados     xRet := oWsdl:AddHttpHeader( "Pragma", "no-cache" )

...

     if xRet == .F

...

.       Return     endif          // Envia a mensagem SOAP ao servidor     xRet := oWsdl:SendSoapMsg()

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif   Return

...

Âncora
getsoapmsg()
getsoapmsg()
GetSoapMsg
caractere GetSoapMsg()
Retorna o documento SOAP que será enviado ao servidor.
Retorno:
caractere cRet - Retorna o documento SOAP que será enviado ao servidor.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError 

...

)       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValue( 0, "90210" )

...

     if xRet == .F.

...

       conout( "Erro: " + oWsdl:cError )

...

       Return     endif          // Pega a mensagem SOAP que será enviada ao servidor     conout( oWsdl:GetSoapMsg() )

...

   Return

...

Âncora
sendsoapmsg()
sendsoapmsg()
SendSoapMsg
lógico SendSoapMsg(caractere cMsg)
Envio o documento SOAP gerado ao endereço definido.

...

Parâmetros:
caractere cMsg (opcional) - Indica a mensagem SOAP que será enviada, ao invés da mensagem gerada pela lib usando os valores que forma definidos. Opcional.
Retorno:
lógico lRet - Verdadeiro (.T.) caso consiga enviar o documento e receber a reposta do servidor. Falso (.F.) caso contrário.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet     Local cMsg := ""

...

          //

...

 Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValue( 0, "90210" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Envia a mensagem SOAP ao servidor     xRet := oWsdl:SendSoapMsg()

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          cMsg := "<?xml version='1.0' encoding='UTF-8' standalone='no' ?>"

...

     cMsg 

...

= '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" '

...

     cMsg 

...

= 'xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" '

...

     cMsg 

...

= 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" '

...

     cMsg 

...

= 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '

...

     cMsg 

...

= 'xmlns:ns1="http://ws.cdyne.com/WeatherWS/">'

...

     cMsg 

...

= '<SOAP-ENV:Body>'

...

     cMsg 

...

= '<GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/">'

...

     cMsg 

...

= '<ZIP>22313</ZIP>'

...

     cMsg 

...

= '</GetCityForecastByZIP>'

...

     cMsg 

...

= '</SOAP-ENV:Body>'

...

     cMsg 

...

= '</SOAP-ENV:

...

Envelope>'          // Envia uma mensagem SOAP personalizada ao servidor     xRet := oWsdl:SendSoapMsg( cMsg )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif   Return

...

Âncora
getsoapresponse()
getsoapresponse()
GetSoapResponse
caractere GetSoapResponse()
Retorna o documento SOAP de resposta rcebido do servidor.
Retorno:
caractere cRet - Retorna o documento SOAP de resposta rcebido do servidor.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          //

...

 Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValue( 0, "90210" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Envia a mensagem SOAP ao servidor     xRet := oWsdl:SendSoapMsg()

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Pega a mensagem de resposta     conout( oWsdl:GetSoapResponse() )

...

   Return

...

Âncora
getparsedresponse()
getparsedresponse()
GetParsedResponse
caractere GetParsedResponse()
Retorna uma string contendo a mensagem SOAP de resposta parseada.
Retorno:
caractere cRet - Retorna uma string contendo a mensagem SOAP de resposta parseada, contendo uma linha para cada elemento existente na mensagem de resposta, onde cada linha está no formato elemento:valor, sendo que os elementos do tipo complexo tem um caracter tab CHR(9) antes do nome do elemento quando iniciam e uma linha só com CHR(9) quando fecham.
Exemplos:

...

   User Function Teste()

...

     Local oWsdl     Local xRet          // Cria o objeto da classe TWsdlManager     oWsdl := TWsdlManager():New()

...

          // Faz o parse de uma URL     xRet := oWsdl:ParseURL( "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define a operação     xRet := oWsdl:SetOperation( "GetCityForecastByZIP" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Define o valor de cada parâmeto necessário     xRet := oWsdl:SetValue( 0, "90210" )

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Envia a mensagem SOAP ao servidor     xRet := oWsdl:SendSoapMsg()

...

     if xRet == .F.

...

       conout( "Erro: " 

...

 oWsdl:cError )

...

       Return     endif          // Pega a mensagem de resposta parseada     conout( oWsdl:GetParsedResponse() )

...

   Return

...

Âncora
setproxy()
setproxy()
SetProxy
SetProxy(caractere cHost, numérico nPort)
Define o host e porta do proxy para fazer a conexão HTTP.
Parâmetros:
caractere cHost (obrigatório) - Indica o host do proxy para fazer a conexão HTTP.
numérico nPort (obrigatório) - Indica a porta do proxy para fazer a conexão HTTP.

...