Erro ao Compilar WS

Boa tarde,

Gerei um WS client pelo link utilizando a rotina TOTVS GENERATE WS. Ao compilar o WS apresenta a mensagem: "message": "functions are not allowed in code. Use USER FUNCTION or STATIC FUNCTION."

Não possui function no fonte e não consigo identificar o erro, já comentei os métodos tudo.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Insira um function na rotina , embaixo coloca seu método.

User Function nome da rotina()

Return

Boa tarde Tiago, obrigado pelo retorno mas não entendi sua dica.

O gerador de WS criou uma user function pra controle interno:
User Function _DKWNZQS ; Return // “dummy” function - Internal Use

Ao compilar relata existir uma FUNCTION e não possui Function no fonte, apenas a USER FUNCTION.

vou colocar um exemplo de ws para ver se te ajuda.:
User Function WSFIN01()

Return

WSRESTFUL WPRCCPAGAR DESCRIPTION “Inclusão de Titulos”

//WSDATA idProduto as Char
WsMethod PUT Description “FIN” WsSyntax “/”

END WSRESTFUL

WSMETHOD PUT WSRECEIVE RECEIVE WSSERVICE WPRCCPAGAR

A função já possui um user function. linha 1 → User Function _DKWNZZZ ; Return ) linha 2 → WSCLIENT WSMarca …

tenta dessa forma sem o “;” e abrindo e fechando o parentese
User Function _DKWNZQS()
Return

Bom dia Tiago, inseri a imagem abaixo e mesmo assim apresenta o erro.

Se puder me envia o fonte para eu tentar compilar, vendo aqui não consigo ver erro no código.

Boa tarde @Tiago, Fonte em anexo junto a imagem do comentário abaixo.

04.PNG ...

O problema estava no tamanho das variáveis no WS. Comentei conforme na imagem, alterei no restante do fonte e compilou.

Obrigado a todos que se propuseram a auxiliar.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

biblioteca, usa essas :
#include “PROTHEUS.ch”
#include “RESTFUL.ch”
#INCLUDE ‘TBICONN.CH’
#INCLUDE ‘TOPCONN.CH’

vai ter um erro também na linha 70, retira o local

Oi Tiago, ai compilou? Aqui continuo com problema.

aqui compilou sim, deixei desse jeito o inicio.

#include “PROTHEUS.ch”
#include “RESTFUL.ch”
#INCLUDE ‘TBICONN.CH’
#INCLUDE ‘TOPCONN.CH’
User Function SXLHNTN()

Return // “dummy” function - Internal Use

/* -------------------------------------------------------------------------------
WSDL Service WSMarca
------------------------------------------------------------------------------- */

WSCLIENT WSMarca

Identifiquei o erro Tiago, obrigado pelo apoio. Coloquei junto a imagem.

Boa tarde. Considere utilizar a classe de binário TWSDLManager, pois possui suporte mais amplo ao padrão WSDL, além de métodos e propriedades que facilitam o uso do client.

Oi Carlos boa tarde, obrigado pelo retorno. O Client do WS foi gerado pelo Gerador automático. Quando se passa a URL e o gerador do VS Code gera o fonte.

Lucas, assim como o Carlos, acho válido você testar a classe TWSDLManager: Classe TWsdlManager - TOTVSTEC - TDN

Aqui mesmo no fórum eu já utilizei ela para exemplificar uma autenticação basic no SOAP: Autenticação no Header - Webservice SOAP

No meu caso foi por que um dos métodos WS estava referenciando um serviço que não correspondia ao do rest no arquivo corrente.

Capture.PNG

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.