Função Rest não é apresentada na lista de API

Criei um serviço WSRESTFUL e apliquei no RPO utilizado para serviços REST. Ao consultar na lista de serviços disponíveis, o mesmo nao é apresentado.

Seguem as primeiras linhas do fonte



#include 'protheus.ch'
#include 'parmtype.ch'
#Include 'RestFul.ch'
#include 'TopConn.CH'

user Function WSITGCTE()
return


    WSRESTFUL INTEGRACTE DESCRIPTION "Integrar CTEs"

        WSMETHOD POST DESCRIPTION "Importacao de CTE" WSSYNTAX ""
        WSMETHOD GET DESCRIPTION "Consulta CTE - Nao implementado." WSSYNTAX ""

    END WSRESTFUL

WSMETHOD GET WSRECEIVE RECEIVE WSSERVICE INTEGRACTE
self:setContentType("text/html")
self:setResponse("<p>H</p>")
self:setStatus(200)
return .T.

WSMETHOD POST WSRECEIVE RECEIVE WSSERVICE INTEGRACTE
.
.
.
Return .T.

André, removendo os três pontos do POST (erro de compilação), compilei o fonte e foi exibido na listagem normalmente.

Bom dia André,

Terá que verificar se foi compilado sem erros e se foi compilado na porta e serve correto, pois uma vez compilado ele aparecerá, nunca tive problemas de mesmo compilado ele não esta na lista.

Bom dia Tiago! Cara, confirmo sim IP:PORTA e apontamento RPO. Quando eu pego o conteudo do fonte e insiro num serviço já existente, ele é adicionado com sucesso. Olhando o processo de compilação, ele apresenta SUCCESS e no inspetor de objetos, o fonte está compilado.

André,

  • Não é necessário declarar essa User Function
    • Caso não vá receber nenhum header, remova o WSRECEIVE também. Caso receba, declare o WSDATA dela.

Fiz o teste da seguinte forma e funcionou tranquilamente:


#include 'protheus.ch'
#include 'parmtype.ch'
#Include 'RestFul.ch'
#include 'TopConn.CH'


WSRESTFUL INTEGRACTE DESCRIPTION "Integrar CTEs"

    // WSMETHOD POST DESCRIPTION "Importacao de CTE" WSSYNTAX ""
    WSMETHOD GET DESCRIPTION "Consulta CTE - Nao implementado." WSSYNTAX ""

END WSRESTFUL

WSMETHOD GET WSSERVICE INTEGRACTE
    self:setContentType("text/html")
    self:setResponse("<p>H</p>")
    self:setStatus(200)
return .T.