gpt4 book ai didi

wcf - 如何使用 Delphi XE 发送 WCF 的 ClientCredentials

转载 作者:行者123 更新时间:2023-12-03 14:48:25 24 4
gpt4 key购买 nike

我使用 HTTPS 开发了一个带有自定义 UserNamePasswordValidatorbasicHttpBinding 的 WCF 服务。它与 .Net 客户端配合得很好,使用 ClientCredentials 发送用户名和密码进行身份验证。

但是,我需要从 Delphi XE 客户端调用它。如何使用 Delphi 发送 .Net ClientCredentials 的等效项?那可能吗?如果是的话,怎么样?如果不是,有其他选择吗?

谢谢

编辑

下面是我在 .Net 中的客户端代码:

EndpointAddress oTransac = new EndpointAddress(GetAddress());
using (WebServiceClient oClient = new WebServiceClient ("httpbasic", oTransac))
{
oClient.ClientCredentials.UserName.UserName = "username";
oClient.ClientCredentials.UserName.Password = "password";
oClient.DoStuff();
}

编辑

我一直在做一些研究,并且我已经能够使用 SOAP 监听器在 Delphi 和旧的 asmx Web 服务之间进行身份验证。我找到了下面这篇文章。我能否使用本文的技术实现与旧版 [WebMethod] [System.Web.Services.Protocols.SoapHeader("SoapHeader")] 相同的行为?

http://weblogs.asp.net/paolopia/archive/2008/02/25/handling-custom-soap-headers-via-wcf-behaviors.aspx

编辑赏金

被标记为赏金的正确答案,我希望能够在服务器端使用 WCF 服务 UserNamePasswordValidator 从 Delphi 调用 Web 服务。

最佳答案

首先,basicHttpBinding 是通过 HTTP(而不是 HTTPS)实现的

http://msdn.microsoft.com/en-us/library/ms731361.aspx

要使用 Delphi 中的 WFC 服务,通常是通过从服务生成 WSDL 来完成的

How to create a single WSDL file from existing WCF service?

http://social.msdn.microsoft.com/Forums/en/wcf/thread/fc2c5074-1116-4f92-a972-01bb3a142535

WCF: how to generate a single WSDL document, without WSDL:import?

并通过将该 WSDL 导入到您的 Delphi 项目中来生成 Delphi 代理类。

>wsdlimport.exe service.wsdl

然后在您的 Delphi 项目中使用生成的 Delphi 单元

http://www.drbob42.com/examines/examinB9.htm

http://edn.embarcadero.com/article/36962

您发送到服务调用的参数(用户名、密码、客户端凭据等)将在生成的 Delphi 单元中定义 - 只要您可以连接到服务,就应该没有问题。

关于wcf - 如何使用 Delphi XE 发送 WCF 的 ClientCredentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com