使用Delphi客户端和Windows身份验证访问WCF

时间:2015-02-13 11:15:33

标签: wcf delphi soap windows-authentication

我有WCF - 我希望使用Delphi - 客户端访问的服务。现在我的问题是,我必须使用Windows Authentication并且不知道在哪里告诉Delphi - 客户自动使用这些凭据。
它只适用于我在与WCF相同的机器上启动客户端(当然)。否则我得到ESOAPHTTPException错误401(未经授权)。

C# - 客户端,它只是一些配置,如

<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;

1 个答案:

答案 0 :(得分:0)

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

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

  

在THTTPRio的WebNode子组件的用户名属性中   组件,使用域名后跟反斜杠和用户   名。

请注意,使用普通网络浏览器(Chrome,Firefox,...)从其他计算机(在同一网络中)访问Web Service WSDL地址时,应显示一个登录表单,其中表单中的凭据为domain \ user和密码可以输入。