【问题标题】:WCF / USD / Dynamics 365: SchUseStrongCrypto loses effect after some timeWCF / USD / Dynamics 365:SchUseStrongCrypto 在一段时间后失效
【发布时间】:2023-04-05 21:41:02
【问题描述】:

我知道这似乎是一个老问题,但我认为历史上没有人遇到过同样的问题。

我向 Dynamics 365 版本 9 发送了一个请求到IOrganizationService.Create,并且测试似乎在十几次之后是可重复的。在某个时候它不再起作用了,我必须重新启动美元。

我得到的错误是:

Exception detail:Error during HTTP request to https://xxxxxxxx.api.crm4.dynamics.com/XRMServices/2011/Organization.svc/web?SDKClientVersion=9.0.9002.0. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.  
Server stack trace: 
   in System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
   in System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   in System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   in System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   in System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   in System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   in System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   in System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   in System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   in Microsoft.Xrm.Sdk.IOrganizationService.Create(Entity entity)
   in Microsoft.Xrm.Sdk.WebServiceClient.WebProxyClient`1.ExecuteAction[TResult](Func`1 action)
   in Microsoft.Xrm.Sdk.WebServiceClient.OrganizationWebProxyClient.CreateCore(Entity entity)
   in CustomHostedControls.HiddenController.DoAction(RequestActionEventArgs args)
   in Microsoft.Uii.Csr.Aif.HostedApplication.HostedWpfControl.HandleRequestAction(Object sender, RequestActionEventArgs args)

我已经验证了所有这些条件:

  • 测试机为 Windows 7 Professional Version 6.1 Build 7601 Service Pack 1, 64 bit
  • SchUseStrongCryptoHKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319 下均设置为1
  • exe 是 Unified Service Desk 3.2,针对“.NETFramework,Version=v4.6.2”
  • 此软件已编译为针对“.NETFramework,Version=v4.5.2”的 dll
  • 在我的UnifiedServiceDesk.exe.config 我有:<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>

我还应该检查什么?

谢谢

【问题讨论】:

    标签: c# .net https microsoft-dynamics unified-service-desk


    【解决方案1】:

    在代码的某个地方我有这样一行:

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;

    解决了这个问题:

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls12;

    无论如何,最佳解决方案是隔离应用程序域中的代码。

    【讨论】:

      猜你喜欢
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2022-08-23
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多