生成されたDSクライアントプロキシクラスを使用してDataSnapサーバーにTDSRESTConnectionを使用して接続しています。接続が正常に動作し、私はサーバーメソッドを呼び出すことができます。プロキシサーバー経由で接続したいので、TDSRESTConnectionオブジェクトのプロパティを設定していますが、プロパティが無視されているかのように、プロキシサーバー経由で何も送信されていないことがわかります。次のように私のコードは次のとおりです。Delphi Seattle DataSnap Client - プロキシサーバー設定が機能しない
var
myDS: TServerMethodsClient;
begin
DSRESTConnectionCfg.ProxyHost := 'localhost';
DSRESTConnectionCfg.ProxyPort := 8888;
myDS := TServerMethodsClient.Create(DSRESTConnectionCfg, False);
myDS.ServerMethodOne();
myDS.Free;
end;
私も試してみました設定:
DSRESTConnectionCfg.HTTP.ProxyParams.ProxyServer := 'localhost';
DSRESTConnectionCfg.HTTP.ProxyParams.ProxyPort := 8888;
の両方が影響を与えません。しかし、私はこのコードが私が使用していたDelphiの以前のバージョンで動作していることを知っています。これはXE6です。問題はXE10に移行したようだ。
誰もがこれにどのような光を当てることができますか?プロキシユーザ名が指定されている場合
procedure TDSHTTP.PrepareRequest(const ARequest: IHTTPRequest);
var
LIPRequest: TIPHTTPRequest;
I: Integer;
Lprox: TProxySettings;
begin
if FProxyConnectionInfo <> nil then
begin
Lprox := TIPProxyConnectionInfo(FProxyConnectionInfo).FProxySettings;
//if Lprox.UserName <> emptystr then // <-- Comment this line out
FHTTPClient.ProxySettings := TProxySettings.Create(Lprox.Host, Lprox.Port, Lprox.UserName, Lprox.password, Lprox.Scheme);
end;
はコードだけそれに対し、プロキシサーバーの設定を適用している:
XE6バージョンは、実際には同じマシンで動作しますが、「XE10」バージョンでは動作しません。 Btw、XE10はありません。XE8以降のバージョンはシアトル、ベルリン、東京です。あなたが使用しているものはどれですか? – MartynA
こんにちは、はい、それは同じPC上のXE6で正常に動作します。申し訳ありませんが、それは私が使用しているDelphi Seattleです。 –
プロパティを変更した後、接続をリセットまたは再オープンする必要がありますか? – nil