Acemiler için Delphi Web Servis Server App + Client App

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
osiso
Üye
Mesajlar: 46
Kayıt: 02 Eki 2007 05:56
Konum: İSTANBUL
İletişim:

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen osiso »

indirme linkinde virüs var diyor tekrar upload edebilirmisiniz....
Vurulup Tertemiz Alnından uzanmış Yatıyor
Bir Hilal Uğruna Ya Rab, Ne Güneşler Batıyor!
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen Lost Soul »

Ne linkte ne de dosyada bir sorun yok.
Eğer web sitesinde virus var diyorsa Tarayıcınız reklam sokuşturan programlardan birine maruz kalmış geçmiş olsun.
Eğer bilgisayarınız virüs var diyorsa WSDL_Ornegi.exe ve WSDL_Ornegi_Istemci.exe dosyalarını silip kendiniz yeniden derleyebilirsiniz.

Bu alternatif indirme linki çıkırt

Ayrıca Bkz: Delphi Sürümlerinde Yapılan Uygulamalarda 3 Antivirüs'ün Virüs Tepkisi Vermesi
Kullanıcı avatarı
enes6635
Üye
Mesajlar: 21
Kayıt: 09 Eki 2018 11:09
İletişim:

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen enes6635 »

tecrübeli abilerim ablalarım :)
Ben wsdl dosyasını import ettim ve burdaki özellikleri yada procedure'leri nasıl kullanacağımı anlayamadım. Bana örneklerle anlatabilecek birileri var mı?

Mesela http://webservices.amazon.com/AWSEComme ... rvice.wsdl
den bi özelliği kullanarak anlatabilir misiniz?
Saygılar...
Haksız bir davada zirve olmaktansa, haklı bir davada zerre olmayı tercih ederim.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen mkysoft »

Şurada https://github.com/isisedonusum yayınladığımız örnekler yol gösterebilir.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen ertank »

enes6635 yazdı: 16 Eki 2018 10:46 tecrübeli abilerim ablalarım :)
Ben wsdl dosyasını import ettim ve burdaki özellikleri yada procedure'leri nasıl kullanacağımı anlayamadım. Bana örneklerle anlatabilecek birileri var mı?

Mesela http://webservices.amazon.com/AWSEComme ... rvice.wsdl
den bi özelliği kullanarak anlatabilir misiniz?
Saygılar...
Merhaba,

Öncelikle kullandığınız Delphi sürümünü bildirmemişsiniz. Aşağıdaki örnek kod Delphi 10.2.3 ile çalışmaktadır. Yüksek ihtimal ile XE3 ve sonrası sürümlerde çalışacaktır. Delphi 7 için düzenlemeler yapılması gerekmektedir.

Çalıştırmadan önce "doldurulacak" olarak geçen yerleri doğru bilgiler ile değiştirmelisiniz.

Çalıştırmadan önce form üzerine bir tane HTTPRIO bileşeni ekler ve projenizi kayıt ederseniz gerekli üniteler uses kısmına eklenmelidir.

Örnek gelen cevabın sadece küçük bir kısmını listelemektedir. Cevap içinde birçok bilgi olduğu için sizi ilgilendirenleri tespit edip özellikle okumanız gerekir.

Ayrıca Amazon web servis kullanımı ile ilgili birçok döküman/web sayfası üzerinden bilgi paylaşıyor olması gerekli. Bu dökümanları okumakta fayda var.

Kod: Tümünü seç

uses
  AWSECommerceService;  // WSDL ile import edilen PAS dosyası

// Bilgileri ekranda bir memo içinde göstermek için
procedure TForm1.Log(const Value: string);
var
  Prefix: string;
begin
  if Value = EmptyStr then
  begin
    Memo1.Lines.Add(EmptyStr);
    Exit();
  end;

  Prefix := FormatDateTime('yyyy-mm-dd hh:nn:ss.zzz  ', Now());
  Memo1.Lines.Add(Prefix + Value);
end;

// Buton tıklandığında web servis metodu çalıştırmak için
procedure TForm1.Button1Click(Sender: TObject);
var
  WS: AWSECommerceServicePortType;  // Web Servis
  RIO: THTTPRIO;  // SOAP bağlantı bileşeni
  Request: ItemSearch;  // Çalıştırılacak metoda göre request tanımı değişir
  Response: ItemSearchResponse;  // Çalıştırılacak metoda göre response tanımı değişir
  I: Integer;
  J: Integer;
begin
  RIO := THTTPRIO.Create(nil);
  RIO.URL := 'https://webservices.amazon.com/onca/soap?Service=AWSECommerceService';

  WS := (RIO as AWSECommerceServicePortType); // RIO bileşenini Web Servis olarak kullanıyoruz

  Request := nil;
  Response := nil;
  try
    Request := ItemSearch.Create();
    Request.MarketplaceDomain := 'doldurulacak';
    Request.AWSAccessKeyId := 'doldurulacak';
    Request.AssociateTag := 'doldurulacak';
    Request.Shared := ItemSearchRequest.Create();
    Request.Shared.Artist := 'Michael Jackson';
    try
      WS.ItemSearch(Request);  // Web servis içinden ItemSearch metodu bu noktada çalıştırılıyor
    except
      on E: Exception do
      begin
        Log('Hata: ' + E.Message);
        Log(EmptyStr);
      end;
    end;
    
    // Gelen cevap her bir metoda özel olarak okunur
    for I := Low(Response.Items) to High(Response.Items) do
    begin
      Log('Qid: ' + Response.Items[I].Qid);
      Log('Toplam sonuç: ' + Response.Items[I].TotalResults.ToString());
      Log('Toplam "item": ' + Length(Response.Items[I].Item).ToString());
      for J := Low(Response.Items[I].Item) to High(Response.Items[I].Item) do
      begin
        Log('ASIN: ' + Response.Items[I].Item[I].ASIN + ', ParentASIN: ' + Response.Items[I].Item[I].ParentASIN + ', ' + Response.Items[I].Item[I].SalesRank);
      end;
    end;
    Log(EmptyStr);
  finally
    Request.Free();
    Response.Free();
    Screen.Cursor := crDefault;
  end;
end;
Kullanıcı avatarı
enes6635
Üye
Mesajlar: 21
Kayıt: 09 Eki 2018 11:09
İletişim:

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen enes6635 »

mkysoft yazdı: 16 Eki 2018 02:49 Şurada https://github.com/isisedonusum yayınladığımız örnekler yol gösterebilir.
yeni olduğum için tam manasıyla anlayamadım. Dökümanlarınızı inceledim. Yine de teşekkür ederim.
Haksız bir davada zirve olmaktansa, haklı bir davada zerre olmayı tercih ederim.
Kullanıcı avatarı
enes6635
Üye
Mesajlar: 21
Kayıt: 09 Eki 2018 11:09
İletişim:

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen enes6635 »

teşekkür ederim hocam, biraz umudu kesmiştim yapamayacağım diye. Ama artık incelemelerimi hızlandıracağım. Hepinize teşekkür ederim.
Sürüm olarak 10.2 kullanıyorum.
Döküman olduğunu söylediniz yalnız ben nasıl arayacağımı bilemediğim için belli yerde dönüp durdum. Tam açıklayan bir dökümana rastlayamadım.
ertank yazdı: 17 Eki 2018 11:21
enes6635 yazdı: 16 Eki 2018 10:46 tecrübeli abilerim ablalarım :)
Ben wsdl dosyasını import ettim ve burdaki özellikleri yada procedure'leri nasıl kullanacağımı anlayamadım. Bana örneklerle anlatabilecek birileri var mı?

Mesela http://webservices.amazon.com/AWSEComme ... rvice.wsdl
den bi özelliği kullanarak anlatabilir misiniz?
Saygılar...
Merhaba,

Öncelikle kullandığınız Delphi sürümünü bildirmemişsiniz. Aşağıdaki örnek kod Delphi 10.2.3 ile çalışmaktadır. Yüksek ihtimal ile XE3 ve sonrası sürümlerde çalışacaktır. Delphi 7 için düzenlemeler yapılması gerekmektedir.

Çalıştırmadan önce "doldurulacak" olarak geçen yerleri doğru bilgiler ile değiştirmelisiniz.

Çalıştırmadan önce form üzerine bir tane HTTPRIO bileşeni ekler ve projenizi kayıt ederseniz gerekli üniteler uses kısmına eklenmelidir.

Örnek gelen cevabın sadece küçük bir kısmını listelemektedir. Cevap içinde birçok bilgi olduğu için sizi ilgilendirenleri tespit edip özellikle okumanız gerekir.

Ayrıca Amazon web servis kullanımı ile ilgili birçok döküman/web sayfası üzerinden bilgi paylaşıyor olması gerekli. Bu dökümanları okumakta fayda var.

Kod: Tümünü seç

uses
  AWSECommerceService;  // WSDL ile import edilen PAS dosyası

// Bilgileri ekranda bir memo içinde göstermek için
procedure TForm1.Log(const Value: string);
var
  Prefix: string;
begin
  if Value = EmptyStr then
  begin
    Memo1.Lines.Add(EmptyStr);
    Exit();
  end;

  Prefix := FormatDateTime('yyyy-mm-dd hh:nn:ss.zzz  ', Now());
  Memo1.Lines.Add(Prefix + Value);
end;

// Buton tıklandığında web servis metodu çalıştırmak için
procedure TForm1.Button1Click(Sender: TObject);
var
  WS: AWSECommerceServicePortType;  // Web Servis
  RIO: THTTPRIO;  // SOAP bağlantı bileşeni
  Request: ItemSearch;  // Çalıştırılacak metoda göre request tanımı değişir
  Response: ItemSearchResponse;  // Çalıştırılacak metoda göre response tanımı değişir
  I: Integer;
  J: Integer;
begin
  RIO := THTTPRIO.Create(nil);
  RIO.URL := 'https://webservices.amazon.com/onca/soap?Service=AWSECommerceService';

  WS := (RIO as AWSECommerceServicePortType); // RIO bileşenini Web Servis olarak kullanıyoruz

  Request := nil;
  Response := nil;
  try
    Request := ItemSearch.Create();
    Request.MarketplaceDomain := 'doldurulacak';
    Request.AWSAccessKeyId := 'doldurulacak';
    Request.AssociateTag := 'doldurulacak';
    Request.Shared := ItemSearchRequest.Create();
    Request.Shared.Artist := 'Michael Jackson';
    try
      WS.ItemSearch(Request);  // Web servis içinden ItemSearch metodu bu noktada çalıştırılıyor
    except
      on E: Exception do
      begin
        Log('Hata: ' + E.Message);
        Log(EmptyStr);
      end;
    end;
    
    // Gelen cevap her bir metoda özel olarak okunur
    for I := Low(Response.Items) to High(Response.Items) do
    begin
      Log('Qid: ' + Response.Items[I].Qid);
      Log('Toplam sonuç: ' + Response.Items[I].TotalResults.ToString());
      Log('Toplam "item": ' + Length(Response.Items[I].Item).ToString());
      for J := Low(Response.Items[I].Item) to High(Response.Items[I].Item) do
      begin
        Log('ASIN: ' + Response.Items[I].Item[I].ASIN + ', ParentASIN: ' + Response.Items[I].Item[I].ParentASIN + ', ' + Response.Items[I].Item[I].SalesRank);
      end;
    end;
    Log(EmptyStr);
  finally
    Request.Free();
    Response.Free();
    Screen.Cursor := crDefault;
  end;
end;
Haksız bir davada zirve olmaktansa, haklı bir davada zerre olmayı tercih ederim.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Acemiler için Delphi Web Servis Server App + Client App

Mesaj gönderen ertank »

enes6635 yazdı: 17 Eki 2018 01:53 teşekkür ederim hocam, biraz umudu kesmiştim yapamayacağım diye. Ama artık incelemelerimi hızlandıracağım. Hepinize teşekkür ederim.
Sürüm olarak 10.2 kullanıyorum.
Döküman olduğunu söylediniz yalnız ben nasıl arayacağımı bilemediğim için belli yerde dönüp durdum. Tam açıklayan bir dökümana rastlayamadım.
Amazon birçok web servis yayınlıyor. Sizin kullanmak istediğiniz için muhtemel kaynak şu olabilir:
https://docs.aws.amazon.com/en_us/AWSEC ... vices.html
Cevapla