Ich möchte in der Lage sein, eine JSON-Nachricht an einen REST-Dienst zu senden. Ich bin in der Lage eine GET-Aufruf zu tun, indem sie Beispiele von Google-SucheWie kann ich einen Text von der gespeicherten Prozedur an einen REST-Dienst übergeben?
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',
'http://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT',
--Your Web Service Url (invoked) 'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Select @ResponseText
Exec sp_OADestroy @Object
Ich habe versucht, verschiedene Varianten der folgenden Verfahren:
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
DECLARE @hResult int
DECLARE @source varchar(255), @desc varchar(255)
declare @Body as varchar(8000) =
'{
"Subsystem": 1,
"Exception": "",
"Message": "I have done what you asked",
"Time": "2014-06-09T11:16:35",
"Attribute": { "Number of attempts": "0" }
}'
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
EXEC sp_OAMethod @Object, 'open', NULL, 'post',
'https://thecorrecturl:446/api/handelse/', 'false'
Exec sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Type', 'application/json'
declare @len int
set @len = len(@body)
EXEC sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Length', @len
Exec sp_OAMethod @Object, 'setRequestBody', null, 'Body', @body
EXEC sp_OAMethod @Object, 'send', null
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Select @ResponseText
Exec sp_OADestroy @Object
Die Response ich wieder die omnious ist „{“ Message „:“ Ein Fehler ist aufgetreten „}“
Kann jemand mich in die richtige Richtung weisen, dies zu tun oder einfach nur die richtige Art und Weise zu geben, es zu tun;)
ich die GET-Aufruf an meine uRL verwendet haben. und bekam den richtigen Handel aus dem Service.
Grüße Caroline
Haben Sie hilft feststellen, dass 'false' den ganzen Weg auf der rechten Seite? nach dem Kommentar "your web service URL". löst das das Problem aus? – Ruskin
Wenn ich von falsch auf wahr ändere, bekomme ich stattdessen eine NULL - Antwort, aber immer noch den gleichen Fehler auf der Serverseite (aus dem IIS - Protokoll POST/api/handelse/- 446 - XXXXXXXXXXX 500 0 0 203) – user3721971
Anrufe von Management Studio, um zu sehen, was der Fehler ist? habe gerade deinen Schnitt gesehen - gut, dass du das Problem gefunden hast – Ruskin