Histórico da Página
...
- 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 | |
| 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 | |
| Retorna a documentação do documento WSDL. |
| |
vetor | |
| Lista os tipos simples de input para a operação definida. |
| |
vetor | |
| Lista os tipos complexos de input para a operação definida que possuem número variável de ocorrências – (minOccurs < maxOccurs --). |
| |
vetor | |
| Lista os tipos simples de output para a operação definida. |
| |
vetor | |
| Lista os tipos complexos de output para a operação definida. |
| |
vetor | |
| Lista os tipos simples de fault para a operação definida. |
| |
vetor | |
| 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 | |
| Retorna o documento SOAP que será enviado ao servidor. |
| |
lógico | SendSoapMsg(caractere cMsg) |
| Envio o documento SOAP gerado ao endereço definido. |
| |
caractere | |
| Retorna o documento SOAP de resposta rcebido do servidor. |
| |
caractere | |
| 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()
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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(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.
...