Delphi Seattle DataSnap客户端 - 代理服务器设置不起作用

时间:2017-08-04 14:55:41

标签: rest delphi proxy datasnap

我使用生成的DS客户端代理类通过TDSRESTConnection连接到DataSnap服务器。连接工作正常,我可以调用服务器方法。我现在想要通过代理服务器进行连接,所以我在TDSRESTConnection对象上设置属性,但我可以看到没有任何内容通过代理服务器发送,就好像属性被忽略一样。我的代码如下:

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。

有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

问题是由于TDSHTTP.PrepareRequest过程中Datasnap.DSHTTPClient.pas单元中的错误造成的:

_Change

如果指定了代理用户名,则代码仅应用代理服务器设置,而无论如何都应始终应用设置。