Perguntas Erro em conversão de tipos

Mais
7 anos 3 meses atrás #31607 por sidelcino
Bom dia galera,

Por favor, deem uma olhada no código abaixo;
.....................................
.....................................

WSSTRUCT Cliente
WSDATA Nome AS String
WSDATA Telefone AS String OPTIONAL
ENDWSSTRUCT

WSSTRUCT Clientes
WSDATA Registros AS ARRAY OF Cliente
ENDWSSTRUCT

WSSERVICE ExemploCT
WSDATA _status AS Boolean
WSDATA _dados AS Clientes
WSMETHOD InsereClientes
WSMETHOD ListaClientes
ENDWSSERVICE

WSMETHOD InsereClientes WSRECEIVE _dados WSSEND _status WSSERVICE ExemploCT
Local nI

// Exibe os dados recebidos. Eles seriam inseridos em um tabela num banco de dados.
for nI := 1 to Len( ::_dados:Registros )
conout( "Registro " + cValToChar( nI ) )
conout( "Nome: " + ::_dados:Registros[nI]:Nome )
conout( "Telefone: " + IIf( Empty( ::_dados:Registros[nI]:Telefone ), "Nao tem", ::_dados:Registros[nI]:Telefone ) + CRLF )
next nI

// Devolve um status informando que a operação foi feita com sucesso. Esse status será devolvido na mensagem SOAP de resposta a esse método.
::_status := .T.

// Retorna que a operação foi feita com sucesso para a camada do Protheus.
Return .T.

WSMETHOD ListaClientes WSRECEIVE NULLPARAM WSSEND _dados WSSERVICE ExemploCT
Local nDay := dow( date() )
Local oNewCliente

if nDay == 1 .Or. nDay == 7
SetSoapFault( "Metodo não disponível", "Este serviço não funciona no fim de semana." )

return .F.
endif

// Os dados de retorno seriam pegos do banco de dados.
// Para esse exemplo iremos popular o retorno com dados fixos.

// Cria a instância de retorno ( WSDATA _dados AS Clientes )
::_dados := WSClassNew( "Clientes" )

// inicializa a propriedade da estrutura de retorno
// WSDATA Registros AS ARRAY OF Cliente

::_dados:Registros := {}

// Cria e alimenta uma nova instancia do cliente
oNewCliente := WSClassNew( "Cliente" )
oNewCliente:Nome := "ZZZ"
oNewCliente:Telefone := "999"
AAdd( ::_dados:Registros, oNewCliente )

// Cria e alimenta uma nova instancia do cliente
oNewCliente := WSClassNew( "Cliente" )
oNewCliente:Nome := "EEE"
oNewCliente:Telefone := "777"
AAdd( ::_dados:Registros, oNewCliente )

// Retorna que a operação foi feita com sucesso para a camada do Protheus.
Return .T.

.....................................
.....................................

Ao compilar está dando o seguinte erro:
[INFO] [08:56:32.661] ADVPL Preprocessor: Precompilation of file C:\Users\sidel\Documents\TDS\Workspace\Primeiro_Projeto\WebService\Cliente.prw ok. [Projeto: Primeiro_Projeto]
[WARN] [08:56:32.752] CLIENTE.PRW(39) warning W0015 Incompatible Types : cannot convert from 'L' to 'O' [Projeto: Primeiro_Projeto]
[08:56:36.215] Compilação finalizada (11,341 segs.)

Como posso resolver isso?

Obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.090 segundos
Joomla templates by a4joomla