hava durumunu aşağıdaki kodla okuyabiliyorum;
Declare @Object as Int;
DECLARE @handle INT
DECLARE @PrepareXmlStatus INT
Declare @ResponseText as Varchar(8000);
Declare @ResponseText_XML as XML;
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'post','
api.openweathermap.org 'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
set @ResponseText_XML = REPLACE(REPLACE(REPLACE(@ResponseText,
'<?xml version="1.0" encoding="utf-8"?>',''),'>','>'),'<','<')
EXEC @PrepareXmlStatus= sp_xml_preparedocument @handle OUTPUT, @ResponseText_XML
SELECT @ResponseText
SELECT CONVERT(VARCHAR(10),GETDATE(),120) AS TARIH,
ID,
SEHIR,
ROUND((SICAKLIK_KELVIN-273.15),0) AS SICAKLIK_CELCIUS,
RUZGAR_YONU,
CONCAT(RUZGAR_HIZI,'m/s') AS RUZGAR_HIZI,
RUZGAR_TIPI,
HAVA_TIPI,
CONCAT(NEM_ORANI,'%') AS NEMLILIK --INTO WEATHER_CONDITION
FROM(
SELECT *
FROM OPENXML(@handle, '/current/city',1)
WITH (
ID VARCHAR(10) '../city/@id',
SEHIR VARCHAR(10) '../city/@name',
SICAKLIK_KELVIN FLOAT '../temperature/@value',
RUZGAR_YONU VARCHAR(20) '../wind/direction/@name',
RUZGAR_HIZI VARCHAR(5) '../wind/speed/@value',
RUZGAR_TIPI VARCHAR(20) '../wind/speed/@name',
HAVA_TIPI VARCHAR(20) '../weather/@value',
GUN_DOGUS VARCHAR(40) '../city/sun/@rise',
GUN_BATIS VARCHAR(40) '../city/sun/@set',
NEM_ORANI VARCHAR(10) '../humidity/@value'
)
--Exec sp_OADestroy @Object
--EXEC sp_xml_removedocument @handle
)ABC
şimdiki webserviste login olma durumu da var, bu servis 3 bileşene bakıyor, örneğin bir satışçı için randevu adetleri, sattığı ürünler ve ödemesini aldığı ürünler gibi...
bu arada chrome un Advanced Rest Client eklentisinde çalışıp xml konudunu dönüyor.
verdiğim ilk link kırıkmış onu düzelttim (www.vishalseth.com), prosedürü onun gibi oluşturdum ama alt taraftaki @requestbody değişkenine ne yazacağımı bilemedim. bişeler denedim ama invalid variable hatası alıyorum.
soapenv:Envelope xmlns:soapenv... uzantılı bir kod bulamadım.
bir de şöyle denedim, fakat bunu çalıştırınca @responseText null geliyor.
/***********************************/
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Declare @Body as varchar(8000) =
'<Login>
<UserName>OBIWebService</UserName>
<UserPassword>OBIWebServicePassWord</UserPassword>
</Login>'
Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;
EXEC sp_OAMethod @Object, 'open', NULL, 'post','
myhostname', 'false'
Exec sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Type', 'text/xml'
Exec sp_OAMethod @Object, 'send', null, @body
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Select @ResponseText
Exec sp_OADestroy @Object
/***********************************/