Autenticação de usuário em WSRESTFUL

Olá a todos,

Estou criando uma API para realizar o cadastro de Pedido de Compras no Protheus 12.

Porém, ao enviar dados para esta API, recebo a mensagem de erro A120COMP - (AJUDA:A120COMP - Usuário não tem permissao para incluir pedidos de compras).

Criei um usuário para ser utilizado pela API que possui permissão para incluir Pedido de Compra, porém, como faço para utilizar suas credenciais em uma WSRESTFUL?

Tentei utilizar Prepare Environment da seguinte forma:

Static function mvcPedidoNovo ( oWS, oJson )
    Local cDoc
    private lMsErroAuto := .F.
    private lAutoErrNoFile := .T. // .T. para retornar erro pela API

    PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" USER "REST.USER" PASSWORD "Test3@" TABLES "SC7"
    dbSelectArea(cTable)
    dbSetOrder(1)
    MsSeek(xFilial(cTable)+"zzzzzz", .T.)

    // resgatando o DOC
    dbSkip(-1)
    cDoc := SC7->C7_NUM
    If Empty(cDoc)
        cDoc := StrZero(1,Len(SC7->C7_NUM))
    Else
        cDoc := Soma1(cDoc)
    EndIf

    /*
    // aqui eu preencho as variáveis aCabec e aItens
    */

    // incluindo no sistema
    MATA120(1,aCabec,aItens,3,,/*aRatCC */)

    // verificando se ocorreu algum erro
    If !lMsErroAuto
        oWS:SetResponse("Incluido com sucesso! "+cDoc)
    Else
        oWS:SetResponse(GetAutoGRLog())

    EndIf

return !lMsErroAuto

porém o erro persiste.

Deste já agraço a ajuda.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags wsrestful advpl rest restapi protheues12 protheus ou faça a sua própria pergunta.