Fehler bei der WSUS-Synchronisierung mit SoapException
In diesem Artikel erfahren Sie, wie Sie ein Problem beheben, bei dem die WSUS-Synchronisierung (Windows Server Update Services) aufgrund eines außer Betrieb gesetzten Endpunkts fehlschlägt.
Ursprüngliche Produktversion: WSUS : Alle Versionen, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Ursprüngliche KB-Nummer: 4482416
Symptome
Bei der WSUS-Synchronisierung tritt ein Fehler auf, und Sie erhalten die folgende Fehlermeldung:
SoapException: Fehler aufgetreten
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
unter Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy.GetUpdateData(Cookie cookie, UpdateIdentity[] updateIds)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.WebserviceGetUpdateData(UpdateIdentity[] updateIds, List'1 allMetadata, List'1 allFileUrls, Boolean isForConfig)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.GetUpdateDataInChunksAndImport(List'1 neededUpdates, List'1 allMetadata, List'1 allFileUrls, Boolean isConfigData)
bei Microsoft.UpdateServices.ServerSync.Cat
Darüber hinaus wird eine Fehlermeldung, die der folgenden ähnelt, in der WSUS-Protokolldatei (%ProgramFiles%\Update Services\LogFiles\SoftwareDistribution.log
) auf dem WSUS-Server protokolliert:
<Date> <Time> Error WsusService.25 SoapUtilities.LogException USS ThrowException: Actor = https://fe2.update.microsoft.com/v6/ServerSyncWebService/ServerSyncWebService.asmx, Method = "http://www.microsoft.com/SoftwareDistribution/GetUpdateData", ID=<ID>, ErrorCode=InternalServerError, Message=
at Microsoft.UpdateServices.Internal.SoapUtilities.LogException(SoapException e)
at Microsoft.UpdateServices.Internal.WebServiceCommunicationHelper. ProcessWebServiceProxyException(SoapHttpClientProtocol& webServiceObject, Exception exceptionInfo)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.WebserviceGetUpdateData(UpdateIdentity[] updateIds, List\1 allMetadata, List\1 allFileUrls, List\`1& updatesWithSecureFileData, Boolean isForConfig)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.GetUpdateDataInChunksAndImport(List\1 neededUpdates, List\1 allMetadata, List\1 allFileUrls, Boolean isConfigData)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.GetAndSaveUpdateMetadata(List\1 updates)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.CatalogSyncThreadProcess()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
<Date> <Time> Error WsusService.25 SoapUtilities.LogException USS ThrowException: Actor = https://fe2.update.microsoft.com/v6/ServerSyncWebService/ServerSyncWebService.asmx, Method = "http://www.microsoft.com/SoftwareDistribution/GetUpdateData", ID=\<ID>, ErrorCode=InternalServerError, Message=
at Microsoft.UpdateServices.Internal.SoapUtilities.LogException(SoapException e)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.CatalogSyncThreadProcess()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Ursache
Dieses Problem tritt auf, wenn die WSUS-Server für die Verwendung des alten Synchronisierungsendpunkts https://fe2.update.microsoft.com/v6
konfiguriert sind. Dieser Endpunkt wurde vollständig außer Betrieb genommen und ist nach dem 8. Juli 2019 nicht mehr erreichbar.
Lösung
Um das Problem zu beheben, ändern Sie den Synchronisierungsendpunkt in der WSUS-Konfiguration in https://sws.update.microsoft.com
.
Führen Sie dazu die folgenden Schritte auf dem obersten WSUS-Server aus, der eine direkte Verbindung mit Microsoft Update herstellt, z. B. auf dem WSUS-Stammserver in einer WSUS-Hierarchie:
Schließen Sie alle WSUS-Konsolen.
Führen Sie an einer PowerShell-Eingabeaufforderung mit erhöhten Rechten die folgenden PowerShell-Skripts aus.
Hinweis
Führen Sie die Skripts nicht auf einem WSUS-Server aus, der nicht der oberste Server ist. Wenn der Server nicht mit dem Internet verbunden ist, schlägt die Synchronisierung möglicherweise fehl.
Für WSUS Version 3.x:
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") $server = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer() $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
WSUS-Server, auf denen Windows Server 2008 (ohne das neueste Update) oder frühere Versionen ausgeführt wird, verwenden möglicherweise die
https://update.microsoft.com/v6
Synchronisierungsendpunkte oderhttps://www.update.microsoft.com
. Da diese Versionen von Windows die SHA256-Zertifikatauthentifizierung nicht unterstützen, verwenden Sie die folgenden Einstellungen in den PowerShell-Skripts:$config.MUUrl = " https://sws1.update.microsoft.com" $config.RedirectorChangeNumber = 3011
Für WSUS unter Windows Server 2012 und höheren Versionen:
$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
Überprüfen Sie, ob die WSUS-Synchronisierung erfolgreich ist.
Weitere Informationen
Weitere Informationen zum Ausführen von PowerShell-Skripts finden Sie unter Was ist PowerShell?.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für