Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ıdHTTP Post hakkında? [Çözüldü]
#1
Star 
Merhaba,
Konu web servisle alakalı bir durum aslında :/
Web servis import edilirken NVİ KPS sisteminde olduğu gibi bazı tanımlamalar ve kullanımda sıkıntı yaşamaktayım.
Araştırma yaparken karşılaştığım bir kaynak doğrultusunda ıdHTTP ile yapılabilir gibi geldi  :ss
SOAP-UI testlerinde sonuç alabiliyorum. Buradaki akışı  "HttpAnalyzer" ile takip ettim.
ıdHTTP Header kısmını buraya göre düzenlemek istedim fakat istediğim sonucu elde edemedim.
ContentType  kısmı düzenlediğim şekilde oluşmuyor ve Connection kısmı gözükmüyor.

"(Status-Line):HTTP/1.1 500 Internal Server Error" hatasını alıyorum.

Bu kısımda takılmış durumdayım.


SOAP-UI sorgusundaki header yapısı
rOE1dB.png


Bu kısımda kod yapısı
var
 Strm    :TStringStream;
 sSSL    :TIdSSLIOHandlerSocketOpenSSL;
 sIdHTTP :TIdHTTP;
begin
 Try
   Memo1.Clear;
   sIdHTTP :=TIdHTTP.Create(Self);
   sSSL    := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

   sIdHTTP.Request.Clear;
   sIdHTTP.IOHandler             := sSSL;
   sIdHTTP.Request.ContentType   :='application/soap+xml;charset=UTF-8;action='+'https://services.XXXXXXXXXX';//
   sIdHTTP.Request.Connection    :='Keep-Alive';
   sIdHTTP.Request.AcceptEncoding:='gzip,deflate';
   sIdHTTP.Request.UserAgent     :='Apache-HttpClient/4.1.1 (java 1.5)';
   sIdHTTP.Request.Host          :='services.XXXXXX';
   Strm := TStringStream.Create(ExtractFilePath(application.ExeName)+ 'SorguXML.xml');
   Memo1.Lines.Add(sIdHTTP.Post('https://services.XXXXXX/XXXXX/service.asmx',Strm));
 Finally
   Strm.Free;
   FreeAndNil(sIdHTTP);
 End;
end;

Uygulamayı takibe alıp kodu çalıştırdığımdaki header yapısı
76AD8m.png
Cevapla
#2
Merhaba,

Gözden kaçan küçük bir detaydan dolayı hata alıyormuşum  Angry

Sorun buradaki kısım :/
"Strm := TStringStream.Create(ExtractFilePath(application.ExeName)+ 'SorguXML.xml');"
Meğer dosya yolunu gönderiyormuşum. Uzun süre uğraş verince böyle oluyor sanırım.
Strm içerisini gerekli XML yapısını yükleyerek tekrar yolladığımda istediğim sonucu alabilmiş oldum.

bu yöntem kullanılarak WSDL import etmeden istenen Header kısımlarını manuel ekleyerek ıdHTTP ile post ederek Web servisi kullanabiliriz.
Son düzenlediğim hali aşağıdaki gibidir.

var
 Strm    :TStringStream;
 sSSL    :TIdSSLIOHandlerSocketOpenSSL;
 sIdHTTP :TIdHTTP;
begin
 Try
   Memo1.Clear;
   sIdHTTP :=TIdHTTP.Create(Self);
   sSSL    := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

   sIdHTTP.Request.Clear;
   sIdHTTP.IOHandler             := sSSL;
   sIdHTTP.ProtocolVersion       :=pv1_1;
   sIdHTTP.Request.ContentType   :='application/soap+xml;charset=UTF-8;action="https://services.XXXXXXXXXXXXXXXXXX"';
   sIdHTTP.Request.Connection    :='Keep-Alive';
   sIdHTTP.Request.AcceptEncoding:='gzip,deflate';
   sIdHTTP.Request.UserAgent     :='Apache-HttpClient/4.1.1 (java 1.5)';
   sIdHTTP.Request.Host          :='services.XXXXXXXXX';
   Strm := TStringStream.Create(Memo2.Text);
   Memo1.Lines.Add(sIdHTTP.Post('https://services.XXXXXXXXXXXXXXXXX.asmx',Strm));
 Finally
   Strm.Free;
   FreeAndNil(sIdHTTP);
 End;
end;

SSL için http://indy.fulgan.com/SSL/ adresinden openssl-0.9.8r-i386-win32-rev2.zip kütüphanesini indirerek exe nin bulunduğu dizine eklendi.
Memo2.text içerisinde XML şablon yapısı bulunmaktadır.
Cevapla
#3
Merhaba,
örneğiniz üzerinde çalışarak post işlemi yaptığımda 500 internal server hatası alıyorum.
Bu konuda yatdımcı olabilirmisiniz.
,
Cevapla
#4
Merhaba,
İletmek istediğiniz veriyi kontrol edin XML şablon yollamak istiyorsanız ve şablon yapısında bozulma olursa bu hatayı verebilir.

İyi Çalışmalar.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 196 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  Video Oynatma Hakkında adelphiforumz 7 855 17-12-2025, Saat: 07:36
Son Yorum: mrmarman
  nduWlanAPI Kullanımı hakkında nurah 3 811 09-09-2025, Saat: 09:33
Son Yorum: RAD Coder
  AES Şifreleme Hakkında tmrksmt 25 5.930 06-09-2025, Saat: 22:12
Son Yorum: delphi.developer
  SuperObject dosyaları hakkında adelphiforumz 2 629 18-06-2025, Saat: 11:02
Son Yorum: engerex



Konuyu Okuyanlar: 1 Ziyaretçi