【问题标题】:exception of type 'System.ServiceModel.Security.SecurityAccessDeniedException' occurred in mscorlib.dll but was not handled in user codemscorlib.dll 中出现“System.ServiceModel.Security.SecurityAccessDeniedException”类型的异常,但未在用户代码中处理
【发布时间】:2017-09-05 11:28:52
【问题描述】:

我在访问第三方服务时收到“拒绝访问”异常。

以下是我正在使用的绑定(已将某些名称更改为 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";

但是服务总是抛出异常

mscorlib.dll 中出现“System.ServiceModel.Security.SecurityAccessDeniedException”类型的异常,但未在用户代码中处理其他信息:访问被拒绝

堆栈跟踪信息

服务器堆栈跟踪:

服务器堆栈跟踪: 在 System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息回复,MessageFault 故障,字符串操作,MessageVersion 版本,FaultConverter faultConverter) 在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime 操作,Object[] 输入,Object[] 输出,TimeSpan 超时) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 方法调用,ProxyOperationRuntime 操作) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息)

在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型) 在 WhiteNowWI.WhiteNowService.WhiteNowSyncPort.RunAnalyticsReport(RunAnalyticsReportRequest 请求) 在 C:\RahulRathoreWork\PMGWorkSpace\GIT\WhiteNow\Service References\WhiteNowService\Reference.cs:line 24711 中的 WhiteNowWI.WhiteNowService.WhiteNowSyncPortClient.WhiteNowWI.WhiteNowService.WhiteNowSyncPort.RunAnalyticsReport(RunAnalyticsReportRequest 请求) 在 WhiteNowWI.WhiteNowService.WhiteNowSyncPortClient.RunAnalyticsReport(ClientInfoHeader ClientInfoHeader,AnalyticsReport AnalyticsReport,Int32 限制,Int32 开始,字符串分隔符,布尔 ReturnRawResult,布尔 DisableMTOM,Byte[]& FileData)在 C:\XXXX\XXX\GIT\XXX\Service References \X\Reference.cs:第 24723 行 at WhiteNowWI.QueryReport.getData(String username, String password, Int32 report_ID, String delimiter)

有人可以帮我解决这个问题吗?这将是一个很大的帮助。 谢谢!

【问题讨论】:

    标签: wcf soapui wcf-security


    【解决方案1】:

    已解决。第三方服务的密码已过期,我是在向该第三方服务提出支持请求后才知道的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-29
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      相关资源
      最近更新 更多