gpt4 book ai didi

c# - 如何在 C# 中使用用户名 token 对 Primavera P6 Web 服务进行身份验证?

转载 作者:行者123 更新时间:2023-12-02 01:10:36 25 4
gpt4 key购买 nike

我需要使用用户名 token 来验证 Primavera P6 Web 服务。我在 VS2010 中创建了控制台应用程序并添加了一个服务引用:

http://localhost:8206/p6ws/services/ExportService?wsdl

所以此刻我有一个代理类,我可以这样写:

var exportService = new ExportPortTypeClient();
var project = new ExportProject { ProjectObjectId = 1000 };
exportService.ExportProject(project);

当我尝试调用 ExportProject() 时,由于身份验证失败出现异常。

有没有人有使用用户名 token 进行身份验证的示例代码?

最佳答案

确保您使用这样的自定义绑定(bind)创建客户端:

var securityElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement();                
securityElement.AllowInsecureTransport = true; //in case you don't use SSL
securityElement.EnableUnsecuredResponse = true; //in case you don't use SSL
var encodingElement = new TextMessageEncodingBindingElement(MessageVersion.Soap11, Encoding.UTF8);
var transportElement = new HttpTransportBindingElement();
var binding = new CustomBinding(securityElement, encodingElement, transportElement);

EndpointAddress endpointAddress = new EndpointAddress("<your endpoint to service goes here>");

var exportService = new ExportPortTypeClient(binding, endpointAddress);
var project = new ExportProject { ProjectObjectId = 1000 };
exportService.ExportProject(project);

关于c# - 如何在 C# 中使用用户名 token 对 Primavera P6 Web 服务进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927068/

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