Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Web Servis SOAP
#1
Merhaba,
Yine web servislerle başım belada...Bir bankanın web servisinden veri almaya çalışıyorum. Dökümanda şöyle bir bilgi vermiş ancak bunu Delphi'ye uyarlayamadım.
Konu hakkında desteğinizi rica ederim.

Webservis, SoapUI üzerinden denenirken WCF servisleri için “WS-Addressing” alanı true olarak set edilmeli ve aşağıda ekran görüntüsü bulunan “Add default wsa:To:” alanı seçili olmalıdır.

Bu şekilde SOAPUI 'da çalışıyor.



Örnek bir java kodu vermişler


// Enable WS - Adressing
iSOnlineServis = sOnlineService.getMetadataExchangeHttpsBindingISOnlineEkstreServis(new
AddressingFeature(true, true));
Cevapla
#2
Delphi tarafında, hangi aşamada olduğunuzu ve hangi işlemi yaparken ne gibi sorunla karşılaştığınızı yazarsanız, daha hızlı çözüm bulabilirsiniz.
Begin : = end / 2;
Cevapla
#3
Şöyle bir başarısız denemem oldu.

 var
 servis : ISOnlineEkstreServis;
 istek  :   DtoEkstreSorgu2;
 cevap  :   DtoEkstreCevap2;

 tarih:TXSDateTime;


begin
      servis :=SOnlineEkstreServis.GetISOnlineEkstreServis(true);


   
     istek :=DtoEkstreSorgu.Create;
     tarih :=  TXSDateTime.Create;
     tarih.AsDateTime :=date;


     istek.MusteriNo :='*****';
     istek.KurumKullanici:= '****';
     istek.Sifre:= '*****';
     istek.SorguBaslangicTarihi:= '2024-03-01 00:00';
     istek.SorguBitisTarihi:= '2024-03-02 23:59';
     istek.HesapNo := '*****';


     cevap :=servis.GetirHareket(istek);

     Memo1.Lines.Add(cevap.IslemKodu);
Cevapla
#4
(04-03-2024, Saat: 13:17)eyln Adlı Kullanıcıdan Alıntı: Şöyle bir başarısız denemem oldu.

 var
 servis : ISOnlineEkstreServis;
 istek  :   DtoEkstreSorgu2;
 cevap  :   DtoEkstreCevap2;

 tarih:TXSDateTime;


begin
      servis :=SOnlineEkstreServis.GetISOnlineEkstreServis(true);


   
     istek :=DtoEkstreSorgu.Create;
     tarih :=  TXSDateTime.Create;
     tarih.AsDateTime :=date;


     istek.MusteriNo :='*****';
     istek.KurumKullanici:= '****';
     istek.Sifre:= '*****';
     istek.SorguBaslangicTarihi:= '2024-03-01 00:00';
     istek.SorguBitisTarihi:= '2024-03-02 23:59';
     istek.HesapNo := '*****';


     cevap :=servis.GetirHareket(istek);

     Memo1.Lines.Add(cevap.IslemKodu);

Hata mesajını da iletebilir misiniz
Begin : = end / 2;
Cevapla
#5
Not: Delphi kodlarınızı kod biçimlendirme (Mesaj editöründeki toolbar üzerinde Delphi simgesi; Delphi Kod Ekle butonu) aracını kullanarak yazarsanız, iyi olur.
Begin : = end / 2;
Cevapla
#6
Bankanın dökümanındaki hatayı veriyor.

Not 1: Webservis, SoapUI üzerinden denenirken WCF servisleri için “WS-Addressing” alanı true olarak set edilmeli ve aşağıda ekran görüntüsü bulunan “Add default wsa:To:” alanı seçili olmalıdır.

SoapUI üzerinden yapılan sorgulama işlemlerinde yukarıdaki seçeneklerin seçilmemesi durumunda uygulama güvenlik duvarı tarafından “The requested URL was rejected. Please consult with your administrator Your support id is : XXXXXXXXXXXXXXX” hata mesajı ile işlem engellenmektedir.

Dökümanda ne yapılması gerektiği belirtilmiş.(Enable WS - Adressing)Örnek java kodu verilmiş. Ancak bunu Delphi'de nasıl yapacağız problem bu



Örnek java kodu

SOnlineEkstreServis sOnlineService = new SOnlineEkstreServis();
ISOnlineEkstreServis iSOnlineServis;
// Enable WS - Adressing
iSOnlineServis = sOnlineService.getMetadataExchangeHttpsBindingISOnlineEkstreServis(new
AddressingFeature(true, true));
DtoEkstreSorgu sorgu = new DtoEkstreSorgu();
Cevapla
#7
(04-03-2024, Saat: 14:10)eyln Adlı Kullanıcıdan Alıntı: Bankanın dökümanındaki hatayı veriyor.

Not 1: Webservis, SoapUI üzerinden denenirken WCF servisleri için “WS-Addressing” alanı true olarak set edilmeli ve aşağıda ekran görüntüsü bulunan “Add default wsa:To:” alanı seçili olmalıdır.

SoapUI üzerinden yapılan sorgulama işlemlerinde yukarıdaki seçeneklerin seçilmemesi durumunda uygulama güvenlik duvarı tarafından “The requested URL was rejected. Please consult with your administrator Your support id is : XXXXXXXXXXXXXXX” hata mesajı ile işlem engellenmektedir.

Dökümanda ne yapılması gerektiği belirtilmiş.(Enable WS - Adressing)Örnek java kodu verilmiş. Ancak bunu Delphi'de nasıl yapacağız problem bu



Örnek java kodu

SOnlineEkstreServis sOnlineService = new SOnlineEkstreServis();
ISOnlineEkstreServis iSOnlineServis;
// Enable WS - Adressing
iSOnlineServis = sOnlineService.getMetadataExchangeHttpsBindingISOnlineEkstreServis(new
AddressingFeature(true, true));
DtoEkstreSorgu sorgu = new DtoEkstreSorgu();

Sorunun kaynağı size iletilmiş; uygulama güvenlik duvarı tarafından engelleniyor.
Güvenlik duvarını devre dışı bırakılması (kurum ve şirketler için WLAN olarak bu politikanın uygulanması) veya yalnızca bu http trafiği/portuna geçiş izni verilmesi gerekiyor.
Begin : = end / 2;
Cevapla
#8
Hayır şu işlemin ( "WCF servisleri için “WS-Addressing” alanı true olarak set edilmeli") Delphide yapılması gerekiyor. Java'da bunun nasıl yapılacağını örnek kod ile belirtmiş.

"iSOnlineServis = sOnlineService.getMetadataExchangeHttpsBindingISOnlineEkstreServis(new
AddressingFeature(true, true));

Delphi'de bir yolu olmalı diye düşünüyorum.
Cevapla
#9
(04-03-2024, Saat: 14:48)eyln Adlı Kullanıcıdan Alıntı: Hayır şu işlemin ( "WCF servisleri için “WS-Addressing” alanı true olarak set edilmeli") Delphide yapılması gerekiyor. Java'da bunun nasıl yapılacağını örnek kod ile belirtmiş.

"iSOnlineServis = sOnlineService.getMetadataExchangeHttpsBindingISOnlineEkstreServis(new
AddressingFeature(true, true));

Delphi'de bir yolu olmalı diye düşünüyorum.

WSDL'i impot etiyseniz; AddressingFeature fonksiyon olarak tanımlı bir tip olmalı.
İstek yapmadan önce bu tipi oluşturmalı ve getMetadataExchangeHttpsBindingISOnlineEkstreServis metodu içinde karşı tarafa göndermelisiniz.
Begin : = end / 2;
Cevapla
#10
(04-03-2024, Saat: 15:05)RAD Coder Adlı Kullanıcıdan Alıntı:
(04-03-2024, Saat: 14:48)eyln Adlı Kullanıcıdan Alıntı: Hayır şu işlemin ( "WCF servisleri için “WS-Addressing” alanı true olarak set edilmeli") Delphide yapılması gerekiyor. Java'da bunun nasıl yapılacağını örnek kod ile belirtmiş.

"iSOnlineServis = sOnlineService.getMetadataExchangeHttpsBindingISOnlineEkstreServis(new
AddressingFeature(true, true));

Delphi'de bir yolu olmalı diye düşünüyorum.

WSDL'i impot etiyseniz; AddressingFeature fonksiyon olarak tanımlı bir tip olmalı.
İstek yapmadan önce bu tipi oluşturmalı ve getMetadataExchangeHttpsBindingISOnlineEkstreServis metodu içinde karşı tarafa göndermelisiniz.

İmport ettim AddressingFeature böyle tanımlı bir tip bulunmuyor.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Modern Servis Uygulama İskeleti Tuğrul HELVACI 24 25.065 06-05-2026, Saat: 21:47
Son Yorum: frmman
  Rest servis api uygulaması yapma tuna 13 1.445 17-10-2025, Saat: 18:40
Son Yorum: tuna
  Web servis konusunda yardım Patriot 7 1.441 24-01-2025, Saat: 21:28
Son Yorum: enigma
  net.tcp web servis clienti yazma erkankurtaga 3 1.437 27-02-2024, Saat: 00:01
Son Yorum: mkysoft
  web servis header sorunu eyln 2 1.325 26-06-2023, Saat: 13:08
Son Yorum: eyln



Konuyu Okuyanlar: 1 Ziyaretçi