Accueil > Service Pack, Sharepoint > Problème avec les mappages d’accès de substition suite à l’application du SP2 et du CU Avril

Problème avec les mappages d’accès de substition suite à l’application du SP2 et du CU Avril

Symptôme

Suite à l’application du Service Pack 2 de Sharepoint et du Cumulative Update d’avril, il se produit une erreur technique lors de la mise à jour ou la suppression d’un mappage d’accès de substitution.

Description détaillée du problème et procédure pour reproduire le problème

  • Créer un application Web, l’étendre sur une seconde zone et ajouter environ une dizaine de mappage d’accès de substitution (exemple : www.macompagnie.serveur1.mondomaine). Dans notre cas, avec 5 mappage seulement, on provoque le problème;
  • Installation du Service Pack 2 de Sharepoint;
  • Installation du Cumulative Update de Avril;
  • Tentative de mise à jour des mappages d’accès de substitution. Ça ne fonctionne plus.

Mise à jour : dans le billet suivant, je présente une manière simplifiée de reproduire le problème

Voici le message d’erreur que vous risquer d’obtenir :

Fin de l'analyse de fichier inattendue Name. Ligne 28, position 10. à System.Xml.XmlTextReaderImpl.Throw(Exception e)
à System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
à System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String arg)
à System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
à System.Xml.XmlTextReaderImpl.ParseElement()
à System.Xml.XmlTextReaderImpl.ParseElementContent()
à System.Xml.XmlTextReaderImpl.Read()
à System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
à System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
à System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
à System.Xml.XmlDocument.Load(XmlReader reader)
à System.Xml.XmlDocument.LoadXml(String xml)
à Microsoft.SharePoint.Administration.SPAlternateUrlCollection.HasMissingUrl(String xml)
à Microsoft.SharePoint.Administration.SPContentDatabase.UpdateAlternateAccessMapping(SPAlternateUrlCollection collection)
à Microsoft.SharePoint.Administration.SPAlternateUrlCollection.UpdateAlternateAccessMappingInContent()
à Microsoft.SharePoint.Administration.SPAlternateUrlCollection.Update()
à Microsoft.SharePoint.Administration.SPAlternateUrlCollection.Delete(Int32 index, Boolean update)
à Microsoft.SharePoint.Administration.SPAlternateUrlCollection.Delete(String incomingUrl, Boolean update, Boolean throwIfNotFound)
à Microsoft.SharePoint.ApplicationPages.EditIncomingUrlPage.BtnDelete_Click(Object sender, EventArgs e)
à System.Web.UI.WebControls.Button.OnClick(EventArgs e)
à System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
à System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
à System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
à System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
à System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 Nous avons tenté de supprimer la zone, supprimer les mappages par STSADM, rien ni fait.

Un peu de réflexion du code pour en savoir un peu plus nous ammène jusqu’à une function qui reçoit en paramètre AlternateAccessMappingXml. 

Private Function GetDatabaseInformation(ByVal name As String) As String
Dim str As String = Nothing
Dim command As New SqlCommand("dbo.proc_GetDatabaseInformation")
command.CommandType = CommandType.StoredProcedure
command.Parameters.Add("@Name", SqlDbType.NVarChar, &H80).Value = name
Using reader As SqlDataReader = MyBase.SqlSession.ExecuteReader(command, CommandBehavior.CloseConnection)
If Not reader.Read Then
Return str
End If
If reader.IsDBNull(0) Then
Return str
End If
Return reader.GetString(0)
End Using
End Function

Nous sommes donc aller voir dans SQL server la StoreProcedure pour se rendre compte qu’elle ne gère que 1023 caractères ! La procédure retourne donc un document XML tronqué à 1023 caractères.

Informations supplémentaires

Pour l’instant, le problème semble se produire uniquement lors d’une mise à vers le Sp2 et/ou le cumulatif d’avril pour Microsoft Office Sharepoint 2007. J’ai fait quelques tests avec Windows Sharepoint Services qui possédait déjà le SP2 et ça semble bien fonctionner.

Contournement

Nous avons cru qu’en supprimant les mappages d’accès de substitution, qu’en effectuant la mise à jour de la ferme et qu’en recréant les mappages, nous aurions pu éviter le problème mais le problème nous rattrappe avec un message similaire.

Conclusion

Nous sommes à l’étape d’ouvrir un cas chez Microsoft. Plus de détails bientôt…

Mise à jour : Mon collègue Djamel Chagour a rédigé un article en anglais sur le même sujet.

Publicités
Catégories :Service Pack, Sharepoint Étiquettes : , ,
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :