wcf - 使用Delphi Client和Windows身份验证访问WCF

标签 wcf delphi soap windows-authentication

我有一个WCF服务,我想通过一个Delphi -Client访问。现在我的问题是,我必须使用Windows Authentication,并且不知道在哪里告诉Delphi-客户端自动使用这些凭据。
仅当我在与WCF相同的计算机上启动客户端时,它才起作用(当然)。否则,我会收到错误401(未经授权)的ESOAPHTTPException

C# -Client中,只是一些配置,例如

<transport clientCredentialType="Windows" />


但是,如何配置Delphi-Client使用Windows凭据?

编辑:
我在Delphi中所做的用于测试其是否工作的所有操作是导入wsdl并执行以下操作:

procedure TForm1.Button1Click(Sender: TObject);
var
  trans: IService;
begin
  trans := Service_Transfer.GetIService();
  Label1.Caption := trans.GetPath;
end;

最佳答案

如果客户端和服务器位于不同的计算机上,则客户端必须使用有效的域帐户。

查看我对How can I use NTLM authentication in a Delphi SOAP Web Service client?的回答:


在THTTPRio的WebNode子组件的用户名属性中
组件,请在域名后加上反斜杠和用户
名称。


请注意,使用普通的Web浏览器(Chrome,Firefox等)从另一台计算机(在同一网络中)访问同一网络中的另一台计算机上的Web服务WSDL地址应显示一个登录表单,其中域\用户和密码形式的凭据可以被输入。

关于wcf - 使用Delphi Client和Windows身份验证访问WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498359/

相关文章:

c# - IDispatchMessageInspector 记录纯文本 SOAP 消息?

Android:以编程方式创建和发送 XML SOAP 请求

javascript - 函数未识别 javascript/ajax SOAP 客户端

c# - MaxConcurrentCalls,如何告诉客户端其调用已排队? BasicHttp绑定(bind)

wcf - WCF 独立应用程序上的 SSL 错误(SSL 仅用于保护传输)

具有大型结果集的 WCF 方法 - 可视化跟踪传输进度

c# - DateTime 作为 WCF REST 服务的参数

delphi - 默认库路径

delphi - 强制Http 1.0 idHttpServer和TIME_WAIT

delphi - DCEF3 - Chromium 版本