WSUS synchronization issues with upstream servers

czhen 1 Reputation point
2023-03-29T09:12:20.1533333+00:00

The upstream WSUS server is Windows Server 2019 with the latest update installed, the downstream server is also Windows Server 2019, and an error occurs when synchronizing updates from upstream downstream.

Previously, Windows Server 2012 R2 thought it was a system problem. The same error after changing the same system.

SoftwareDistribution log

2023-03-29 09:08:54.719 UTC	Info	WsusService.45	ServerCertificateValidator.ConfigChangedHandler	Update server configuration has changed. Sync against MU: False
2023-03-29 09:08:54.740 UTC	Info	WsusService.46	CatalogSyncAgentCore.ExecuteSyncProtocol	Server ID is 259dfc08-c07d-494a-a4a2-647dfaa23200
2023-03-29 09:09:22.126 UTC	Info	w3wp.26	ThreadEntry	TimerQueue.FireNextTimers
2023-03-29 09:09:22.127 UTC	Info	w3wp.26	ServerImplementation.UpdateCache	Database change occured; check if we need to update cache.
2023-03-29 09:10:53.778 UTC	Error	WsusService.46	WebServiceCommunicationHelper.ProcessWebServiceProxyException	ProcessWebServiceProxyException found Exception was an Enexpected Type. Action: No Retry, Fail. Exception Details: System.InvalidOperationException: 客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”。
请求失败,错误信息为:
--
<!DOCTYPE html>
<html>
    <head>
        <title>运行时错误</title>
        <meta name="viewport" content="width=device-width" />
        <style>
         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
         p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
         pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
         .marker {font-weight: bold; color: black;text-decoration: none;}
         .version {color: gray;}
         .error {margin-bottom: 10px;}
         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
         @media screen and (max-width: 639px) {
          pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
         }
         @media screen and (max-width: 479px) {
          pre { width: 280px; }
         }
        </style>
    </head>

    <body bgcolor="white">

            <span><H1>“/ServerSyncWebService”应用程序中的服务器错误。<hr width=100% size=1 color=silver></H1>

            <h2> <i>运行时错误</i> </h2></span>

            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">

            <b> 说明: </b>服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。
            <br><br>

            <b>详细信息:</b> 若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”特性设置为“Off”。<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration></pre></code>

                  </td>
               </tr>
            </table>

            <br>

            <b>注释:</b> 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”特性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration></pre></code>

                  </td>
               </tr>
            </table>

            <br>

    </body>
</html>

--.
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   在 Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetAuthConfig()
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.InternetGetServerAuthConfig(ServerSyncProxy proxy, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.Internal.WebServiceCommunicationHelper.ProcessWebServiceProxyException(SoapHttpClientProtocol& webServiceObject, Exception exceptionInfo)
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.InternetGetServerAuthConfig(ServerSyncProxy proxy, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.Authenticate(AuthorizationManager authorizationManager, Boolean checkExpiration, ServerSyncProxy proxy, Cookie cookie, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.SyncConfigUpdatesFromUSS()
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.CatalogSyncThreadProcess()
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   在 System.Threading.ThreadHelper.ThreadStart()
2023-03-29 09:10:53.779 UTC	Error	WsusService.46	CatalogSyncAgentCore.ExecuteSyncProtocol	System.InvalidOperationException: 客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”。
请求失败,错误信息为:
--
<!DOCTYPE html>
<html>
    <head>
        <title>运行时错误</title>
        <meta name="viewport" content="width=device-width" />
        <style>
         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
         p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
         pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
         .marker {font-weight: bold; color: black;text-decoration: none;}
         .version {color: gray;}
         .error {margin-bottom: 10px;}
         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
         @media screen and (max-width: 639px) {
          pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
         }
         @media screen and (max-width: 479px) {
          pre { width: 280px; }
         }
        </style>
    </head>

    <body bgcolor="white">

            <span><H1>“/ServerSyncWebService”应用程序中的服务器错误。<hr width=100% size=1 color=silver></H1>

            <h2> <i>运行时错误</i> </h2></span>

            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">

            <b> 说明: </b>服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。
            <br><br>

            <b>详细信息:</b> 若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”特性设置为“Off”。<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration></pre></code>

                  </td>
               </tr>
            </table>

            <br>

            <b>注释:</b> 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”特性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration></pre></code>

                  </td>
               </tr>
            </table>

            <br>

    </body>
</html>

--.
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   在 Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetAuthConfig()
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.InternetGetServerAuthConfig(ServerSyncProxy proxy, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.Authenticate(AuthorizationManager authorizationManager, Boolean checkExpiration, ServerSyncProxy proxy, Cookie cookie, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.SyncConfigUpdatesFromUSS()
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.CatalogSyncThreadProcess()
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   在 System.Threading.ThreadHelper.ThreadStart()
2023-03-29 09:10:53.780 UTC	Info	WsusService.46	CatalogSyncAgentCore.UpdateSyncResultAndGenerateReportingEvent	CatalogSyncThreadProcess: report subscription USS internal error
2023-03-29 09:10:53.781 UTC	Info	WsusService.46	EventLogEventReporter.ReportEvent	EventId=386,Type=Error,Category=Synchronization,Message=同步失败。原因:    在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   在 Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetAuthConfig()
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.InternetGetServerAuthConfig(ServerSyncProxy proxy, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.ServerSync.ServerSyncLib.Authenticate(AuthorizationManager authorizationManager, Boolean checkExpiration, ServerSyncProxy proxy, Cookie cookie, WebServiceCommunicationHelper webServiceHelper)
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.SyncConfigUpdatesFromUSS()
   在 Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)。
2023-03-29 09:10:53.790 UTC	Info	WsusService.34	CatalogSyncAgent.WaitUntilSyncFinishedOrCancelled	Agent signalled done.
2023-03-29 09:10:53.791 UTC	Info	WsusService.34	CatalogSyncAgent.SetSubscriptionStateWithRetry	Firing event SyncFailToStart...
2023-03-29 09:10:53.794 UTC	Info	WsusService.34	CatalogSyncAgent.WakeUpWorkerThreadProc	Found no more jobs. CatalogSyncAgent quits but will run rollup before terminating ...
2023-03-29 09:10:53.796 UTC	Info	WsusService.34	CatalogSyncAgent.UpdateServerHealthStatusBasedOnError	ServerHealth: Updating Server Health for Component: CatalogSyncAgent, Marking as Not Running
2023-03-29 09:10:54.866 UTC	Info	WsusService.8	SusEventDispatcher.TriggerEvent	TriggerEvent called for NotificationEventName: RollupAgent, EventInfo: 
2023-03-29 09:10:54.867 UTC	Info	WsusService.23	ThreadEntry	ThreadHelper.ThreadStart
2023-03-29 09:10:54.868 UTC	Info	WsusService.23	SusEventDispatcher.DispatchManagerWorkerThreadProc	DispatchManager Worker Thread Processing NotificationEvent: RollupAgent
2023-03-29 09:10:56.014 UTC	Info	WsusService.37	UpdateServicesRollup.DoDynamicCategoryRollup	Upstream server does not track dynamic categories. Disabling dynamic category tracking.

Windows Server
Windows Server
A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.
12,114 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Limitless Technology 43,931 Reputation points
    2023-03-30T11:34:51.9133333+00:00

    Hello there,

    Do you have any Event ID generated?

    Check proxy server settings from the WSUS console. If your proxy server supports authentication, make sure you have the correct user name, password, and domain. Also be aware that by using basic authentication, you are sending your credential information in plaintext over the wire.

    Check the update storage options you have configured. If you are using a chain of WSUS servers together in a hierarchy, the entire hierarchy must use the same update storage option; otherwise, the synchronizations fail. Consequently, if the upstream server stores content locally, each of the downstream WSUS servers must store content locally as well. Make sure that each WSUS server in the chain uses the same option for update storage.

    Similar discussion here https://social.technet.microsoft.com/Forums/lync/en-US/c00f3d06-6e69-402d-a5b4-7c306e69857d/wsus-downstream-server-is-not-synchronizing-with-upstream-server?forum=winserverwsus

    Hope this resolves your Query !!

    --If the reply is helpful, please Upvote and Accept it as an answer–

    0 comments No comments

  2. czhen 1 Reputation point
    2023-04-06T04:01:41.3066667+00:00

    https://learn.microsoft.com/en-us/troubleshoot/mem/configmgr/update-management/wsus-synchronization-fails-with-soapexception follow these steps on the topmost WSUS server that connects directly to Microsoft Update, such as the root WSUS server in a WSUS hierarchy: Don't run the scripts on a WSUS server that's not the topmost server. If the server isn't connected to the Internet, synchronization may fail. For WSUS on Windows Server 2012 and later versions:

    $server = Get-WsusServer
    $config = $server.GetConfiguration()
    # Check current settings before you change them 
    $config.MUUrl
    $config.RedirectorChangeNumber
    # Update the settings if MUUrl is https://fe2.update.microsoft.com/v6
    $config.MUUrl = "https://sws.update.microsoft.com"
    $config.RedirectorChangeNumber = 4002
    $config.Save()
    iisreset
    Restart-Service *Wsus* -v
    
    
    0 comments No comments