bir web servisinden veri okuyorum. WSDL in ne olduğunu öğrendim import ettim ve (elimde gerekli dokümanda var) dokümanımda belirtilen fonksiyonların hepsini gördüm, bu verileri "Servis.pas" diye kaydettim. sonuçta bana servis pas dosyasında şöyle bir yapı oluşturdu
Kod: Tümünü seç
MGWR1Result = class(TRemotable)
private
published
end;
ServiceSoap = interface(IInvokable)
['{C3236F57-64E7-B9D2-7776-2B908EA4F943}']
function Register_(const UserName: WideString; const Password: WideString; const Application_: WideString): WideString; stdcall;
function MGW1(const aa1: WideString; const ab1: WideString; const ac1: WideString; const ad1: WideString; const ae1: WideString; const af1: WideString;
const ag1: WideString): MGW1Result; stdcall;
end;
function GetServiceSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): ServiceSoap;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var DummyService: ServiceSoap;
result_string: WideString;
Begin
DummyService := GetServiceSoap(true, '');
result_string := DummyService.Register_('abc','abcde','test');
memo1.Lines.Add(result_string );
End;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var DummyService: ServiceSoap;
result_string : WideString;
result_var :MGW1Result;
Begin
DummyService := GetServiceSoap(true, '');
result_var := DummyService.MGW1('abc','abcs', '2009-07-20', '2009-07-21','','','');
normal bir componentten farklı olarak 4 tane ek özelliği var, function ObjectToSoap, Procedure SoapToObject, Widestring DataContext, TSerializationOptions SerializationOptions... bunları kullanarak bu veriyi nasıl alacağımı bilmiyorum. elimdeki dokümana göre
Kod: Tümünü seç
<DataTableGW1 diffgr:id="DataTableGW11" msdata:rowOrder="0">
<AA1>148739</AA1>
<AB1>2008-05-23T11:10:17+03:00</AB1>
<AD1>34 TEST 34</AD1>
<AE1>Timed Event</AE1>
<AF1>13.787999153137207</AF1>
<AG1>30.3844051361084</AG1>
<AH1>40.713321685791016</AH1>
<AI1>41.610000610351562</AI1>
<AJ1>8</AJ1>
<AK1>2.7019999027252197</AK1>
<AL1>Türkiye</AL1>
<AM1>SAKARYA</AM1>
<AN1>MERKEZ</AN1>
<AO1>Arifbey</AO1>
<AR1>222.53999328613281</AR1>
<AW1>test</AW1>
<TM1>2008-05-23T11:10:17+03:00</TM1>
<MU1>234496</MU1>
<AY1>35</AY1>
</DataTableGW1>