Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SOAP içinde TWebbrowser kullanımı hk.
#1
Merhabalar, 

Android cihaz üzerinde fatura sorgulama yapmaya çalışıyorum. 
Android playformunda MSHTML i kullanamadığımız için araya bir server.exe yazmayı planladım. Hem REST hemde SOAP da TWebbrowser kullanımı ile ilgili problem yaşıyorum.

Mobil tarafında istek gerçekleştiğinde, güvenlik kodunu ve çerez bilgisini kullanıcıya gönderiyorum. Kullanıcı abone numarası ve güvenlik kodunu girip tekrardan sorgulama yapmak istediğinde <IHTMLDocument2>.cookie kısmına tekrardan çerez bilgisini yazmak istediğimde access violation veriyor. İşin garip tarafı hem debug yaptığımda nil değil hemde bunu sadece soap da ki method çağırdığında yapıyor. Daha doğrusu okuma ile ilgili problem yok fakat yazma kısmında IHTMLInputTextElement e de yazmıyor.

TWebbrowser nesnesini sabit olarak kullandığımda da, çalışma anında oluşturduğumda da aynı problem devam ediyor. 
CoInitialize ve OleInitialize her ikisini de denedim ama fayda etmedi.


Teşekkürler, 
Kolay gelsin.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#2
Başıma bir şey gelmeyecekse, tam olarak soruyu anlayamadım Ali hocam.
Fatura sorgulama yaptığımız yer bir web sayfası mıdır ? Yoksa soap ya da rest web servis midir ?
WWW
Cevapla
#3
(12-07-2017, Saat: 14:22)ismailkocacan Adlı Kullanıcıdan Alıntı: Başıma bir şey gelmeyecekse, tam olarak soruyu anlayamadım Ali hocam.
Fatura sorgulama yaptığımız yer bir web sayfası mıdır ? Yoksa soap ya da rest web servis midir ?

 Web sayfasıydı Big Grin  Gerek kalmadı adamların mobil uygulamasını indirdim Packet Capture ile takip edince amcamların REST desteği yaptıklarını fark ettim onun üzerinden yaptım sorgulamayı.. 

Ama yine de özet geçeyim.
Web sayfasında  güvenlik kodu vardı. Bizim firemonkey de MSHTML i kullanamadığımızdan güvenlik kodunu alamıyordum. Aynı zamanda bir de çerez koruması yapmışlar onu da atlatınca SessionID olayı vardı. Bende bir REST yada SOAP yazayım dedim sorgu talebi istenince güvenlik kodu ve çerez bilgisini istemciye göndereyim istemci abone numarasını ve güvenlik kodunu yazıp sorgulamak istediğinde de abone no + güvenlik kodu + çerezi servera geri gönderip TWebbrowser üzerinden sayfayı manüple edecektim.. Fakat SOAP da REST serverda önce handle problemi çıkardı onu aştım bu seferde twebbrowser da ki elementlere erişime izin vermedi.

Bu arada başına neden bir şey gelsin  Big Grin Big Grin
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#4
(12-07-2017, Saat: 14:30)barutali Adlı Kullanıcıdan Alıntı:
(12-07-2017, Saat: 14:22)ismailkocacan Adlı Kullanıcıdan Alıntı: Başıma bir şey gelmeyecekse, tam olarak soruyu anlayamadım Ali hocam.
Fatura sorgulama yaptığımız yer bir web sayfası mıdır ? Yoksa soap ya da rest web servis midir ?

 Web sayfasıydı Big Grin  Gerek kalmadı adamların mobil uygulamasını indirdim Packet Capture ile takip edince amcamların REST desteği yaptıklarını fark ettim onun üzerinden yaptım sorgulamayı.. 

Ama yine de özet geçeyim.
Web sayfasında  güvenlik kodu vardı. Bizim firemonkey de MSHTML i kullanamadığımızdan güvenlik kodunu alamıyordum. Aynı zamanda bir de çerez koruması yapmışlar onu da atlatınca SessionID olayı vardı. Bende bir REST yada SOAP yazayım dedim sorgu talebi istenince güvenlik kodu ve çerez bilgisini istemciye göndereyim istemci abone numarasını ve güvenlik kodunu yazıp sorgulamak istediğinde de abone no + güvenlik kodu + çerezi servera geri gönderip TWebbrowser üzerinden sayfayı manüple edecektim.. Fakat SOAP da REST serverda önce handle problemi çıkardı onu aştım bu seferde twebbrowser da ki elementlere erişime izin vermedi.

Bu arada başına neden bir şey gelsin  Big Grin Big Grin

SOAP sunucu tarafındaki uygulamanız bir masaüstü uygulaması mı? yoksa Hizmet ya da ISAPI uygulaması mı?  TWebBrowser ı ekran koordinatları dışında dahi olsa SHOW edilmiş bir form üzerinde bulunmalıdır yoksa  çalışmaz, sebebini bilmiyorum ama böyle Big Grin  yani SOAP sunucu tarafında TWEbBrowser kullanmak zorundaysanız hizmet yada ISAPI ile ne yazık ki olmaz.
Cevapla
#5
(12-07-2017, Saat: 14:30)barutali Adlı Kullanıcıdan Alıntı:
(12-07-2017, Saat: 14:22)ismailkocacan Adlı Kullanıcıdan Alıntı: Başıma bir şey gelmeyecekse, tam olarak soruyu anlayamadım Ali hocam.
Fatura sorgulama yaptığımız yer bir web sayfası mıdır ? Yoksa soap ya da rest web servis midir ?

 Web sayfasıydı Big Grin  Gerek kalmadı adamların mobil uygulamasını indirdim Packet Capture ile takip edince amcamların REST desteği yaptıklarını fark ettim onun üzerinden yaptım sorgulamayı.. 

Ama yine de özet geçeyim.
Web sayfasında  güvenlik kodu vardı. Bizim firemonkey de MSHTML i kullanamadığımızdan güvenlik kodunu alamıyordum. Aynı zamanda bir de çerez koruması yapmışlar onu da atlatınca SessionID olayı vardı. Bende bir REST yada SOAP yazayım dedim sorgu talebi istenince güvenlik kodu ve çerez bilgisini istemciye göndereyim istemci abone numarasını ve güvenlik kodunu yazıp sorgulamak istediğinde de abone no + güvenlik kodu + çerezi servera geri gönderip TWebbrowser üzerinden sayfayı manüple edecektim.. Fakat SOAP da REST serverda önce handle problemi çıkardı onu aştım bu seferde twebbrowser da ki elementlere erişime izin vermedi.

Bu arada başına neden bir şey gelsin  Big Grin Big Grin
Anladım hocam daha önce firemonkey uygulaması geliştirmedim.
Ortalama insan ömrünün yarısını tüketmeye doğru yaklaşan biri olarak, diğer yarısında da muhtemelen firemonkey ile uğraşmayabilirim.

Daha önce sizin duruma benzer şekilde, web sayfasındaki <img> tagı içinde bulunan güvenlik kodu resmini yakalayıp,
android native ortama çekmek gerekiyordu.Çekmek istediğim güvenlik kodu resmi, başka bir http adrese istek yapılarak üretildiği için, sürekli değişmesi sebebiyle, o an sayfada üretilen image'ı çekmek lazımdı.

Mantık olarak şöyle bir yöntem denemiştim.
- Sayfa yüklendikten sonra, sayfadaki image javascript ile buldum.
- javascript ile bu image'ı html5 canvas ile sayfada başka bir yere çizdim.
- javascript ile bu yeni çizdiğim image'ı Base64'e çevirdim.
- Çevirdiğim Base64 image'ı, android java ortamına gönderebilmek için java tarafında methodu @JavascriptInterface anatasyonu ile işaretledim.
- Sonrada java tarafında işaretli methodu, javascriptten çağırdım.

Tüm bu anlattıklarımı Şuradan isteyen inceyebilir.
Kimbilir bugün "hacı javascript yazıyorsun native gibi çalışıyor"un altında belki bir @JavascriptInterface anatasyonu yatıyor olabilir.Bilemiyorum.
Dünya hali hocam.Her an herşey olabilir.
WWW
Cevapla
#6
İşte firemonkey de onu yapamıyoruz Sad Bir de bende ekstra olarak çerez koruması eklemişti. Tek çarem masaüstü uygulamada güvenlik kodunu yakalayıp mobil cihaza göndermekti. Bende aynı şekilde image ı base64 ile mobile gönderdim. Yanında ek olarak bir de çerez bilgisini attım buraya kadar her şey düzgün. Fakat Mobil den tekrardan sunucuya al abone numarası bu güvenlik kodu bu çerez de bu dediğinizde patlıyor.. Normal şartlarda html elementlerini rahatlıkla doldurabiliyorken SOAP veya REST te webbrowser a veri yazmak istediğinde çok ilginçtir.. Nil bir değer olmadığı halde (Pointer debug yapınca görünüyor) Access Violation verdi.. Neyse üstüne çok düşmeyeceğim. Dediğin gibi firemonkey insan ömrünü azaltıyor..

(13-07-2017, Saat: 09:30)vkamadan Adlı Kullanıcıdan Alıntı:
(12-07-2017, Saat: 14:30)barutali Adlı Kullanıcıdan Alıntı:  Web sayfasıydı Big Grin  Gerek kalmadı adamların mobil uygulamasını indirdim Packet Capture ile takip edince amcamların REST desteği yaptıklarını fark ettim onun üzerinden yaptım sorgulamayı.. 

Ama yine de özet geçeyim.
Web sayfasında  güvenlik kodu vardı. Bizim firemonkey de MSHTML i kullanamadığımızdan güvenlik kodunu alamıyordum. Aynı zamanda bir de çerez koruması yapmışlar onu da atlatınca SessionID olayı vardı. Bende bir REST yada SOAP yazayım dedim sorgu talebi istenince güvenlik kodu ve çerez bilgisini istemciye göndereyim istemci abone numarasını ve güvenlik kodunu yazıp sorgulamak istediğinde de abone no + güvenlik kodu + çerezi servera geri gönderip TWebbrowser üzerinden sayfayı manüple edecektim.. Fakat SOAP da REST serverda önce handle problemi çıkardı onu aştım bu seferde twebbrowser da ki elementlere erişime izin vermedi.

Bu arada başına neden bir şey gelsin  Big Grin Big Grin

SOAP sunucu tarafındaki uygulamanız bir masaüstü uygulaması mı? yoksa Hizmet ya da ISAPI uygulaması mı?  TWebBrowser ı ekran koordinatları dışında dahi olsa SHOW edilmiş bir form üzerinde bulunmalıdır yoksa  çalışmaz, sebebini bilmiyorum ama böyle Big Grin  yani SOAP sunucu tarafında TWEbBrowser kullanmak zorundaysanız hizmet yada ISAPI ile ne yazık ki olmaz.

 Volkan hocam, sizin dediğinizin aksini yapınca handle da patlatıyor. Sayfayı çağırmadan önce <TWebBrowser>.HandleNeeded;  dediğimde onu aşmıştım. Hoş denemek için direk anaformun üstüne de koydum yine saçmaladı.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#7
(13-07-2017, Saat: 13:46)barutali Adlı Kullanıcıdan Alıntı: İşte firemonkey de onu yapamıyoruz Sad Bir de bende ekstra olarak çerez koruması eklemişti. Tek çarem masaüstü uygulamada güvenlik kodunu yakalayıp mobil cihaza göndermekti. Bende aynı şekilde image ı base64 ile mobile gönderdim. Yanında ek olarak bir de çerez bilgisini attım buraya kadar her şey düzgün. Fakat Mobil den tekrardan sunucuya al abone numarası bu güvenlik kodu bu çerez de bu dediğinizde patlıyor.. Normal şartlarda html elementlerini rahatlıkla doldurabiliyorken SOAP veya REST te webbrowser a veri yazmak istediğinde çok ilginçtir.. Nil bir değer olmadığı halde (Pointer debug yapınca görünüyor) Access Violation verdi.. Neyse üstüne çok düşmeyeceğim. Dediğin gibi firemonkey insan ömrünü azaltıyor..

(13-07-2017, Saat: 09:30)vkamadan Adlı Kullanıcıdan Alıntı: SOAP sunucu tarafındaki uygulamanız bir masaüstü uygulaması mı? yoksa Hizmet ya da ISAPI uygulaması mı?  TWebBrowser ı ekran koordinatları dışında dahi olsa SHOW edilmiş bir form üzerinde bulunmalıdır yoksa  çalışmaz, sebebini bilmiyorum ama böyle Big Grin  yani SOAP sunucu tarafında TWEbBrowser kullanmak zorundaysanız hizmet yada ISAPI ile ne yazık ki olmaz.

 Volkan hocam, sizin dediğinizin aksini yapınca handle da patlatıyor. Sayfayı çağırmadan önce <TWebBrowser>.HandleNeeded;  dediğimde onu aşmıştım. Hoş denemek için direk anaformun üstüne de koydum yine saçmaladı.
O zaman Allah yar ve yardımcınız olsun hocam.
WWW
Cevapla
#8
Post - Back yöntemi ile yapılamayacak bir site mi ki ?
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Web Servis SOAP eyln 19 1.070 22-03-2024, Saat: 13:06
Son Yorum: eyln
  Unigui iframe kullanımı delphiX14 4 1.563 21-12-2023, Saat: 12:14
Son Yorum: delphiX14
  Peekb, Poke, Peek vb. komutlarının delphi kullanımı? kofmaster 4 2.929 26-08-2023, Saat: 10:37
Son Yorum: veteran
Sad Tabsheet içinde Form Create, Close olayları YILDIRIMBEY 0 250 24-08-2023, Saat: 17:26
Son Yorum: YILDIRIMBEY
  Thread içinde CoInitialize(nil) ve CoUninitialize serdar 6 1.068 22-08-2023, Saat: 09:50
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi