Estou desenvolvendo um método de um serviço Rest, onde a ideia é realizar a solicitação de férias via integração de web service usando o MsExecAuto( { |a,x,y| Gpea050(a,x,y)}...), porem usando o exemplo especificado no tdn, é apresentado o seguinte erro:
DescriþÒo de erro: [}Pilha de Erro: [ THREAD ERROR ([4128], HTTP_WT_SERVICEREST_HTTPREST_HTTPURI@01■01|FALSE, THIS) 14/02/2022 17:31:22 on GPEA050(GPEA050.PRX) 29/04/2021 14:46:15 line : 147 [TOTVS build: 7.00.191205P-20201012] Called from { |A,X,Y| GPEA050(A,X,Y)}(WSCOBGP01.PRW) 14/02/2022 17:30:07 line : 110 Called from MSEXECAUTO(MATXFUNB.PRX) 24/03/2021 17:43:29 line : 3003 Called from U_GPEA050AUTO(WSCOBGP01.PRW) 14/02/2022 17:30:07 line : 110 Called from REST_WSENVIAFERIAS:PUT(WSCOBGP01.PRW) 14/02/2022 17:30:07 line : 44 Called from WSRESTFUL:CALLMETHOD(WSRESTFUL.PRG) 13/10/2020 16:57:54 line : 497 Called from RESTEXECUTE(FWRESTSRV.PRW) 13/10/2020 16:57:54 line : 960 Called from REST_CONNECT(FWRESTSRV.PRW) 13/10/2020 16:57:54 line : 435 Called from HTTP_WT(FWHTTPSRV.PRX) 13/10/2020 16:57:54 line : 944
O erro apresentado é justamente na linha de execução do execauto, segue o código:
Local aArea := GetArea()
Local aCamp1 := {}
Local aIten1 := {}
Local nX := 0
Local lOk := .T.
Local nAbono := 0
Private oModel //Modelo
Private aRotina
Private lGp050Auto := .T. //Variável que define se é inserção automática
Private lMsHelpAuto := .T.
PRIVATE lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "GPE"
//oModel := FWLoadModel("GPEA050") //Carrega o modelo
conout("integra ferias")
DbSelectArea("SRF")
DbSetOrder(1)
If (oParseJSON:ferias[1]:AB1 == "S")
nAbono := "10"
EndIf
For nX := 1 To Len(oParseJSON:ferias)
aAdd(aCamp1,{"RF_FILIAL" , oParseJSON:ferias[nx]:filial , NIL})
aAdd(aCamp1,{"RF_MAT" , oParseJSON:ferias[nx]:mat , NIL})
AADD(aCamp1,{"RF_DFALVAT" , 10 , NIL})
aAdd(aCamp1,{"RF_DATABAS" , Stod("20220107") , NIL})
aAdd(aCamp1,{"RF_DATAINI" , Stod(oParseJSON:ferias[nX]:DTInicio1) , NIL})
aAdd(aCamp1,{"RF_DFEPRO1" , oParseJSON:ferias[nX]:QTD1FE , NIL})
aAdd(aCamp1,{"RF_DABPRO1" , nAbono , NIL}) // Ajustar no json
aAdd(aCamp1,{"RF_DATINI2" , Stod(oParseJSON:ferias[nX]:DTInicio2) , NIL})
aAdd(aCamp1,{"RF_DFEPRO2" , oParseJSON:ferias[nX]:QTD2FE , NIL})
aAdd(aCamp1,{"RF_DATINI3" , Stod(oParseJSON:ferias[nX]:DTInicio3) , NIL})
aAdd(aCamp1,{"RF_DFEPRO3" , oParseJSON:ferias[nX]:QTD3FE , NIL})
/*AADD(aCamp1 , {"RF_FILIAL" , oParseJSON:ferias[nx]:filial , NIL})
AADD(aCamp1 , {"RF_MAT" , oParseJSON:ferias[nx]:mat , NIL})
AADD(aCamp1 , {"RF_DFALVAT" , 10 , NIL})*/
aAdd(aIten1 , aCamp1)
next nX
MsExecAuto( { |a,x,y| Gpea050(a,x,y)}, NIL , aCamp1, 4)// 2 - Visualizar, 4 - Manutencao,, 5 - Exclusao
If lMsErroAuto
ConOut(OemToAnsi("executado com sucesso! "))
lOk := .T.
Else
ConOut(OemToAnsi("Erro na inclusao!"))
conout(Mostraerro())
//cerro := Mostraerro()
cerro := ("ocorreu erro na inclusão")
lOk := .F.
EndIf
//endif
ConOut(OemToAnsi("Fim : ")+Time())
O problema apresentado pode esta ligado a alguma questão na rotina GPEA050?