我在访问第三方服务时遇到“访问被拒绝”异常。在mscorlib.dll中发生类型'System.ServiceModel.Security.SecurityAccessDeniedException'的异常,但未在用户代码中处理
下面是结合我使用(已经更改了名字到XXXX,YYYY和OOOO,因为我不想让他们)
<system.serviceModel>
<bindings>
<customBinding>
<binding name="XXXXSyncBinding">
<security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport"
requireDerivedKeys="true" securityHeaderLayout="Lax" includeTimestamp="false">
<localClientSettings detectReplays="false" />
<localServiceSettings detectReplays="false" />
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://OOOO--tls.YYYY.com/cgi-bin/OOOO.cfg/services/soap"
binding="customBinding" bindingConfiguration="XXXXSyncBinding"
contract="XXXXService.XXXXSyncPort" name="XXXXSyncPort" />
</client>
服务使用TLS 1.2和正在传递所述凭证在头如下
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
_client.ClientCredentials.UserName.UserName = “XYXYXXYXY”; _client.ClientCredentials.UserName.Password =“XYXYXXYXY & 123”;
但服务始终抛出异常
型“System.ServiceModel.Security.SecurityAccessDeniedException”的异常出现在mscorlib.dll,但在用户代码中的其他信息没有处理:拒绝访问
堆栈跟踪信息
服务器堆栈跟踪:
服务器堆栈跟踪: 在System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息答复,MessageFault故障,字符串动作,MessageVersion版本,FaultConverter faultConverter) 在System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc & rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs,TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall ,ProxyOperationRuntime操作) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
异常[0]时重新抛出: 在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天reqMsg,即时聊天retMsg) (MessageData & MSGDATA,的Int32类型) 在WhiteNowWI.WhiteNowService.WhiteNowSyncPort.RunAnalyticsReport(RunAnalyticsReportRequest请求) 在WhiteNowWI.WhiteNowService.WhiteNowSyncPortClient.WhiteNowWI.WhiteNowService.WhiteNowSyncPort.RunAnalyticsReport(RunAnalyticsReportRequest请求)在C:\ RahulRathoreWork \ PMGWorkSpace \ GIT \ WhiteNow \服务引用\ WhiteNowService \参考.cs:line 24711 at WhiteNowWI.WhiteNowService.WhiteNowSyncPortClient.RunAnalyticsReport(ClientInfoHeader ClientInfoHeader,AnalyticsReport AnalyticsReport,Int32 Limit,Int32 Start,String Delimiter,Boolean ReturnRawResult,Boolean DisableMTOM,Byte [] & FileData)位于C:\ XXXX \ XXX \ GIT \ XXX \ Service References \ X \ Reference.cs中:第24723行 位于WhiteNowWI.QueryReport.getData(String username,String password,Int32 report_ID ,字符串分隔符)
有人可以帮助我这个。这将是一个很大的帮助。 谢谢!