pvictor
Membros-
Total de itens
1 -
Registro em
-
Última visita
Sobre pvictor
pvictor's Achievements
0
Reputação
-
Estou usando o sql server 2016 para consumir webservice por store procedure. Tenho um webservice em JSON retornando o seguinte: [{"nome":"Rebecca","email":"rebecca@hotmail.com","ra":"12345"},{"nome":"Caroline","email":"caroline@hotmail.com","ra":"23456"},{"nome":"Vanessa","email":"vanessa@yahoo.com.br","ra":"99999"}] Consigo consumi-lo passando uma variável. Se eu deixar meu webservice para receber um parametro e passa-lo eu consigo retornar nome e email do aluno. Porém se eu deixar meu webservice sem a necessidade de receber parametro e retirar a passagem de parametro da procedure e executar, minha procedure retorna null. O que eu preciso mudar no meu código para conseguir retornar a lista completa de alunos que meu webservice expoe? Segue meu código com passagem de parametros que retorna o usuário do RA correspondente: create PROCEDURE webservice_parametros (@RA as varchar (5)) AS BEGIN DECLARE @OBJ INT; DECLARE @URL VARCHAR(200); DECLARE @RESPONSE VARCHAR(8000); SET @URL = 'http://dominio:8080/v1/alunos/' + @RA EXEC SP_OACREATE 'MSXML2.ServerXMLHttp', @OBJ out EXEC SP_OAMETHOD @OBJ, 'OPEN', NULL, 'GET', @URL, FALSE EXEC SP_OAMETHOD @OBJ, 'SEND' exec SP_OAGETPROPERTY @OBJ, 'responseText', @RESPONSE out EXEC SP_OADESTROY @OBJ SELECT JSON_VALUE(@RESPONSE, '$.nome') as nome, JSON_VALUE(@RESPONSE, '$.email') as email END execute webservice_parametros '12345' Meu código que retorna null para um serviço que não precisa de parâmetros create PROCEDURE webservice AS BEGIN DECLARE @OBJ INT; DECLARE @URL VARCHAR(200); DECLARE @RESPONSE VARCHAR(8000); SET @URL = 'http://dominio:8080/v1/alunos/' EXEC SP_OACREATE 'MSXML2.ServerXMLHttp', @OBJ out EXEC SP_OAMETHOD @OBJ, 'OPEN', NULL, 'GET', @URL, FALSE EXEC SP_OAMETHOD @OBJ, 'SEND' exec SP_OAGETPROPERTY @OBJ, 'responseText', @RESPONSE out EXEC SP_OADESTROY @OBJ SELECT JSON_VALUE(@RESPONSE, '$.nome') as nome, JSON_VALUE(@RESPONSE, '$.email') as email END execute webservice