我正在尝试使用C#连接到SOAP API。我使用的API坚持认为我需要使用OAuth令牌验证每个API调用。我已经实现了OAuth系统并获得了我需要的令牌,但我不知道如何将其附加到我正在制作的SOAP调用中。所以我做了这样的事情
var soapClient = new ReturnClient();
soapClient.ClientCredentials.UserName.UserName = "MyToken";
soapClient.ClientCredentials.UserName.Password = "MyToken";
var rrr = new RetrieveReturnRequest {RetrieveReturnRequestWrapper = xElem2};
var response = soapClient.RetrieveReturn(rrr);
但这不起作用并抛出System.ServiceModel.CommunicationException:
。任何人都可以指出使用访问令牌验证SOAP调用的正确方法是什么
答案 0 :(得分:2)
通常,当您使用OAuth时,您需要传递"令牌"使用HTTP标头。对于OAuth2和承载令牌,您需要在Authorization
HTTP标头中传递它。
requestMessage.Headers["Authorization"] = "Bearer TOKEN_VALUE_HERE";
有关如何在SOAP客户端中传递HTTP标头的详细信息,请参阅此link。