Json mesajını bir REST servisine POST edebilmek istiyorum. Geri omnious "{" Mesaj olduğunu olsunBir gövdeyi saklı yordamdan REST hizmetine nasıl geçirebilirim?
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
ResponseText: Ben
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
aşağıdaki farklı varyasyonlarını denedim google-search örnekler kullanarak bir GET çağrısı yapmak mümkün duyuyorum ":" bir hata oluştu "}"
herkes bunun ya da sadece bunu yapmak için doğru yol vermek için doğru yönde işaret edebilir; benim url GET çağrısı kullandık
). ve servisten doğru elitleri aldım.
Selamlar Caroline
Eğer 'sağda tüm yol FALSE olduğunu fark ettiniz mi? "web hizmeti URL’niz" yorumundan sonra. Bu sorunu tetikliyor mu? – Ruskin
Yanlışdan true olarak değişirse, bunun yerine NULL yanıtı alırım ancak sunucu tarafında hala aynı hatadır (IIS oturumunda POST/api/handelse/- 446 - XXXXXXXXXXX 500 0 0 203) – user3721971
çalıştırmayı denediniz mi? yönetim stüdyosundan hatanın ne olduğunu görmek için çağrılar mı? Düzenlemenizi gördünüz - sorunu bulduğunuz iyi şey – Ruskin