Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
10.3 rio Soap SOAPHTTPTrans.pas ProxyByPass
#1
Merhaba, 10.3 rio kullanan arkadaşlar SOAPHTTPTrans.pas içerisinde property  ProxyByPass kodu varmı bakabilirmi? 10.2.3 sürümünde var ama 10.3 de kaldırılmış görünüyor
10.3 de bu SOAPHTTPTrans.pas 651 satır 10.2.3 de 1603 satır görünüyor

“Do. Or do not. There is no try.”
Cevapla
#2
Bende kodlar yok ama yardım dosyasına göre RIO'da da var gözüküyor:
http://docwiki.embarcadero.com/Libraries...roxyByPass
There's no place like 127.0.0.1
WWW
Cevapla
#3
Merhaba @SimaWB 

- Ben şu sıralar başlığa cevap yazmak üzereyken de aynı yerde gördüm ancak dosyaları araştırdığımda yer almadığını gördüm. 

@masteryoda

- ( Community Edition ) Delphi RIO 10.3 yüklü Dosya yolu ve adı

c:\Program Files (x86)\Embarcadero\Studio\20.0\source\soap\Soap.SOAPHTTPTrans.pas

İçinde bahsettiğiniz property maalesef mevcut değil ... Exclamation

- Eski yeni bir karşılaştırma yaptım. Property listesinde geçen ProxyByPass için kullanıldığı yer ESKİDEN aşağıdaki şekilde bir CONNECT procedure içinde yer alıyormuş. Bu yenisinde Connect'e de yer verilmemiş.  
- Ancak burada ( eski versiyondaki halinde ) şuna dikkat ettim. IFNDEF USE INDY direktifi... Huh

{$IFNDEF USE_INDY}

procedure THTTPReqResp.Connect(Value: Boolean);
var
 AccessType: Integer;
begin
 if Value then
 begin
   { Yes, but what if we're connected to a different Host/Port?? }
   { So take advantage of a cached handle, we'll assume that
     Connect(False) will be called explicitly when we're switching
     Host. To that end, SetURL always disconnects }
   if (FConnected) then
     Exit;

   { Proxy?? }
   if Length(FProxy) > 0 then
     AccessType := INTERNET_OPEN_TYPE_PROXY
   else
     AccessType := INTERNET_OPEN_TYPE_PRECONFIG;

   { Also, could switch to new API introduced in IE4/Preview2}
   if InternetAttemptConnect(0) <> ERROR_SUCCESS then
     SysUtils.Abort;

   FInetRoot := InternetOpen(PChar(FAgent), AccessType, PChar(FProxy), PChar(FProxyByPass), 0);
   Check(not Assigned(FInetRoot));
   try
     FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
       PChar(FPassword), INTERNET_SERVICE_HTTP, 0, Cardinal(Self));
     Check(not Assigned(FInetConnect));
     FConnected := True;
   except
     on E: Exception do
     begin
       InternetCloseHandle(FInetRoot);
       FInetRoot := nil;
       raise ESOAPHTTPException.Create(E.Message);
     end;
   end;
 end
 else
 begin
   if Assigned(FInetConnect) then
     InternetCloseHandle(FInetConnect);
   FInetConnect := nil;
   if Assigned(FInetRoot) then
     InternetCloseHandle(FInetRoot);
   FInetRoot := nil;
   FConnected := False;
 end;
end;

Ben de yeni versiyonda INDY yakasında alternatif var mı diye araştırdım şuna ulaştım.

Bunu başka bir unit altında yer verilmiş
c:\Program Files (x86)\Embarcadero\Studio\20.0\source\data\dsnap\Datasnap.Win.SConnect.pas

burada TWebConnection altında ProxyByPass yer alıyor. Idea

  TWebConnection = class(TStreamedConnection, ITransport)
  private
    FAgent: string;
    FUserName: string;
    FPassword: string;
    FURL: string;
    FURLHost: string;
    FURLSite: string;
    FURLPort: Integer;
    FURLScheme: Integer;
    FProxy: string;
    FProxyByPass: string;
    FInetRoot: HINTERNET;
    FInetConnect: HINTERNET;
    FInterpreter: TCustomDataBlockInterpreter;
    procedure Check(Error: Boolean);
    function IsURLStored: Boolean;
    procedure SetURL(const Value: string);
  protected
    { ITransport }
    function GetInterpreter: TCustomDataBlockInterpreter; override;
    function GetWaitEvent: THandle; stdcall;
    function Transport_GetConnected: Boolean; stdcall;
    function ITransport.GetConnected = Transport_GetConnected;
    procedure Transport_SetConnected(Value: Boolean); stdcall;
    procedure ITransport.SetConnected = Transport_SetConnected;
    function Receive(WaitForInput: Boolean; Context: NativeInt): IDataBlock; stdcall;
    function Send(const Data: IDataBlock): NativeInt; stdcall;
    procedure SetConnected(Value: Boolean); override;
  protected
    function CreateTransport: ITransport; override;
    procedure DoConnect; override;
    [Default(False)]
    property SupportCallbacks default False;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Agent: string read FAgent write FAgent;
    property UserName: string read FUserName write FUserName;
    property Password: string read FPassword write FPassword;
    [Stored('IsURLStored')]
    property URL: string read FURL write SetURL stored IsURLStored;
    property Proxy: string read FProxy write FProxy;
    property ProxyByPass: string read FProxyByPass write FProxyByPass;
    property ObjectBroker;
  end;


Buradaki PROCEDURE  Transport_SetConnected olarak yer alıyor.

procedure TWebConnection.Transport_SetConnected(Value: Boolean);
var
 AccessType: Integer;
begin
 if Value and not GetConnected then
 begin
   if Length(FProxy) > 0 then
     AccessType := INTERNET_OPEN_TYPE_PROXY else
     AccessType := INTERNET_OPEN_TYPE_PRECONFIG;
   FInetRoot := InternetOpen(PChar(Agent), AccessType, PChar(FProxy), PChar(FProxyByPass), 0);
   if InternetAttemptConnect(0) <> ERROR_SUCCESS then System.SysUtils.Abort;
   Check(not Assigned(FInetRoot));
   try
     FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
       PChar(FPassword), INTERNET_SERVICE_HTTP, 0, DWORD_PTR(Self));
     Check(not Assigned(FInetConnect));
   except
     InternetCloseHandle(FInetRoot);
   end;
 end else
 if not Value then
 begin
   if Assigned(FInetConnect) then
     InternetCloseHandle(FInetConnect);
   FInetConnect := nil;
   if Assigned(FInetRoot) then
     InternetCloseHandle(FInetRoot);
   FInetRoot := nil;
 end;
end;
(04-12-2018, Saat: 16:42)masteryoda Adlı Kullanıcıdan Alıntı: Merhaba, 10.3 rio kullanan arkadaşlar SOAPHTTPTrans.pas içerisinde property  ProxyByPass kodu varmı bakabilirmi? 10.2.3 sürümünde var ama 10.3 de kaldırılmış görünüyor
10.3 de bu SOAPHTTPTrans.pas 651 satır 10.2.3 de 1603 satır görünüyor
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#4
Bilgilendirme için çok teşekkürler @mrmarman .
O zaman @masteryoda da benim gibi help'te bunu görmüştür tahminen.
Sizin vesilenizle güncel versiyonlarda yardım dosyalarına çok da güvenmemek gerektiğini öğrendik Sad 
Yada (iyimser olalım) hepimizin atladığı bir şey mi var  Confused
There's no place like 127.0.0.1
WWW
Cevapla
#5
(04-12-2018, Saat: 17:54)SimaWB Adlı Kullanıcıdan Alıntı: Bilgilendirme için çok teşekkürler @mrmarman .
O zaman @masteryoda da benim gibi help'te bunu görmüştür tahminen.
Sizin vesilenizle güncel versiyonlarda yardım dosyalarına çok da güvenmemek gerektiğini öğrendik Sad 
Yada (iyimser olalım) hepimizin atladığı bir şey mi var  Confused

@mrmarman  teşekkürler, yardım dosyasına baktım orada görünüp kodlarda görünmeyince bizde mi bir hata var dedim demek sadece bizde değilmiş ne diyelim Embarcadero sağolsun.

“Do. Or do not. There is no try.”
Cevapla
#6
RESTClient1.Disconnect;
procedure TCustomRESTClient.Disconnect;
begin
  // Do nothing
end;

Metoda gittiğimde boş görünüyor sizce neden böyle?

“Do. Or do not. There is no try.”
Cevapla
#7
(06-12-2018, Saat: 15:03)masteryoda Adlı Kullanıcıdan Alıntı:
RESTClient1.Disconnect;
procedure TCustomRESTClient.Disconnect;
begin
  // Do nothing
end;

Metoda gittiğimde boş görünüyor sizce neden böyle?

TCustomRESTClient objesi Disconnect; virtual şeklinde tanımlanmıştır, RESTClient kendi objsi içinde Disconnect; override yapılmıştır ve kodu orada tanımlanmıştır.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Web Servis SOAP eyln 19 850 22-03-2024, Saat: 13:06
Son Yorum: eyln
  Soap Header ekleme doublelaz 3 1.332 06-12-2022, Saat: 09:31
Son Yorum: Bay_Y
  Soap Web Service abdullahBuyuk 4 2.287 17-11-2021, Saat: 20:27
Son Yorum: enigma
  Soap ile zip dosyası gönderme yourboys 5 1.867 02-06-2021, Saat: 15:28
Son Yorum: yourboys
  Web serviste soap envelope hatası emin 1 916 08-05-2021, Saat: 13:35
Son Yorum: emin



Konuyu Okuyanlar: 1 Ziyaretçi