Jump to content

UniGUIServerModuleHTTPCommand


pro_imaj

Recommended Posts

Merhaba,

UniServerModule üzerinde UniGUIServerModuleHTTPCommand işlem yaparken ip adresi+port olarak URI ulaşabiliyorum aynı şeyi DLL kullanarak subdomain olarak ulaşamıyorum

 subdomain ile kullanımı nasıl olmalı?

islem URI ulaşmak istiyorum.

procedure TUniServerModule.UniGUIServerModuleHTTPCommand(ARequestInfo:
    TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var Handled:
    Boolean);
begin
 if ARequestInfo.URI = '/islem' then
 begin
  //
 end;

end;

https://b2b.test.com/test.dll/islem  bu şekilde erişemiyorum.

Teşekkürler.

Link to comment
Share on other sites

Normalde ISAPI, service veya standalone hepsinde çalışması lazım.

procedure TUniServerModule.UniGUIServerModuleHTTPCommand(
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo;
  var Handled: Boolean);
begin

//Debug.Log(ARequestInfo.URI);


  if ARequestInfo.URI = '/islem' then
  begin
    AResponseInfo.ContentText := 'OK';
    AResponseInfo.ResponseNo  := 200;
    AResponseInfo.ContentType := 'text/html';
    Handled := True;
  end;
end;

Başlangıçta ARequestInfo.URI yi bir loga yazdırıp bakın bakalım hiç çağırıyor mu UniGUIServerModuleHTTPCommand'ı?

Aynı program normal uniGUI formları ile de hizmet veriyorsa o bölümlere erişilebiliyor mu?

Link to comment
Share on other sites

6 minutes ago, Mehmet Emin said:

Normalde ISAPI, service veya standalone hepsinde çalışması lazım.

procedure TUniServerModule.UniGUIServerModuleHTTPCommand(
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo;
  var Handled: Boolean);
begin

//Debug.Log(ARequestInfo.URI);


  if ARequestInfo.URI = '/islem' then
  begin
    AResponseInfo.ContentText := 'OK';
    AResponseInfo.ResponseNo  := 200;
    AResponseInfo.ContentType := 'text/html';
    Handled := True;
  end;
end;

Başlangıçta ARequestInfo.URI yi bir loga yazdırıp bakın bakalım hiç çağırıyor mu UniGUIServerModuleHTTPCommand'ı?

Aynı program normal uniGUI formları ile de hizmet veriyorsa o bölümlere erişilebiliyor mu?

Cevap için teşekkürler.

ipadres ve port verince çalışıyor. Sorun domain ile kullanımda. https://b2b.test.com/test.dll/islem  bu kullanım doğru mu?

Link to comment
Share on other sites

Kullanım doğru. Siz yine de DNS kaydını kontrol edin IP sizin subdomain'e point ediyor mu?

C:\Users\user>ping b2b.test.com

Reply from 216.58.206.206: bytes=32 time=61ms TTL=114
Reply from 216.58.206.206: bytes=32 time=62ms TTL=114

Bu komutun cevabı sizin hedeflediğiniz IP mi?

 

Link to comment
Share on other sites

11 minutes ago, Mehmet Emin said:

Kullanım doğru. Siz yine de DNS kaydını kontrol edin IP sizin subdomain'e point ediyor mu?

C:\Users\user>ping b2b.test.com

Reply from 216.58.206.206: bytes=32 time=61ms TTL=114
Reply from 216.58.206.206: bytes=32 time=62ms TTL=114

Bu komutun cevabı sizin hedeflediğiniz IP mi?

 

Evet ping sonucu başarılı. https://b2b.test.com/test.dll/islem bu şekilde erişmeye çalıştığımda 405 - Bu sayfaya erişmek için kullanılan HTTP fiiline izin verilmiyor. uyarısı alıyorum.

Link to comment
Share on other sites

6 minutes ago, Mehmet Emin said:

Bir ihtimal kullandığınız uniGUI sürümünde HTTPCommand'ın ISAPI altında çağrımı ile ilgili bir problem olabilir mi? Güncel sürümde misiniz?

En güncel sürümdeyim. (1534)

Bence sorun kullanımımda, tam anlatamıyor olabilirim.

Şunu deneme şansınız var mı. herhangi bir domain'de çalışan unigui uygulamanızda böyle bir örneğin sonucu ne oluyor. ISS üzerinden kullanıldığı için port vermeye gerek yok diye biliyorum.

İlginiz için teşekkürler.

Link to comment
Share on other sites

9 minutes ago, Mehmet Emin said:

Siz bu URL yi browser'a mı yazıyorsunuz yoksa örn. bir delphi client uygulamasında mı çağırıyorsunuz?

Direk bworser üzerinden yazınca bu hatayı gözlemliyorum.

Link to comment
Share on other sites

Ben bu hatayı alıyorum:

Invalid session or session Timeout. (Invalid URI: /comcheckxxxxxxxxxxxxxx ) Restart application

Yani bana cevap uniGUI den dönüyor. Sizin durumda bu URL'ler uniGUI'ye ulaşmıyor.

IIS ayarlarını mümkünse tekrar sıfırdan yapın.

https://b2b.test.com/test.dll çalışıyorsa ancak bunun altındaki URL ler çalışmıyorsa IIS kaynaklı.

Link to comment
Share on other sites

Birkaç farklı serverda farklı projelerde denedim Firewall vb etkiliyor diye.

İlginç bir şekilde aşağıdaki hata oluşuyor, sanki yazım yanlışı var hatası gibi.

Sizin aldığınız cevabı ip ve port yazarak alabiliyorum, Domain kullanımında olmuyor araştırıyorum.

Teşekkürlker.

 

Ekran Alıntısı.PNG

Link to comment
Share on other sites

12 minutes ago, Mehmet Emin said:

uniGUI dll'iniz normal form requestlere yanıt veriyor ve düzgün çalışıyorsa.

https://b2b.test.com:8443/test.dll/olmayanbirurl 404 dönüyorsa

https://b2b.test.com:8443/test.dll/islem 405 dönüyorsa ISAPI GET,POST vs. izinler ile ilgili.

Yardımcı olamadım.

Yardımlarınız için teşekkür ederim.

Ben mantığı tam anlayamadığımdan kaynaklandı aslında. Port ile işlem yapmak ile IIS ile işlem yapmak biraz farklı.

Sorunu normalde çözmüşüm yolda doğruymuş. Çıkan mesaj beni yanıltmış.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...