Guest User

Sage CRM Exchange Sync Bug

a guest
Feb 2nd, 2026
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Exécuter en PowerShell (admin si nécessaire)
  2. # Objectif : corriger les DOCTYPE Hibernate dans les fichiers *.hbm.xml et hibernate.cfg.xml
  3. # afin d'éviter les accès réseau (403) et forcer l'utilisation des DTD embarquées par Hibernate.
  4.  
  5. $root = "C:\Program Files (x86)\Sage\CRM\[___CRM_installname___]\tomcat\webapps\almeriacrmExchangeSyncEngine"
  6.  
  7. # 1) Liste des patterns fautifs courants à corriger (http/https, avec/sans www, anciens hostnames)
  8. #    On normalise tout vers les URLs reconnues par le résolveur Hibernate.
  9.  
  10. $replacements = @{
  11.     # ----- DTD Mapping -----
  12.     # hibernate.org (sans www), http et https
  13.     'https?://hibernate\.org/hibernate-mapping-3\.0\.dtd' =
  14.         'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'
  15.     # www.hibernate.org mais sans /dtd/ (mauvais sous-chemin)
  16.     'https?://www\.hibernate\.org/hibernate-mapping-3\.0\.dtd' =
  17.         'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'
  18.     # Anciennes URLs sourceforge (http/https)
  19.     'https?://hibernate\.sourceforge\.net/hibernate-mapping-3\.0\.dtd' =
  20.         'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'
  21.  
  22.     # ----- DTD Configuration -----
  23.     # hibernate.org (sans www), http et https
  24.     'https?://hibernate\.org/hibernate-configuration-3\.0\.dtd' =
  25.         'http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd'
  26.     # www.hibernate.org mais sans /dtd/ (mauvais sous-chemin)
  27.     'https?://www\.hibernate\.org/hibernate-configuration-3\.0\.dtd' =
  28.         'http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd'
  29.     # Anciennes URLs sourceforge (http/https)
  30.     'https?://hibernate\.sourceforge\.net/hibernate-configuration-3\.0\.dtd' =
  31.         'http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd'
  32. }
  33.  
  34. # 2) Optionnel : si vous souhaitez aussi normaliser explicitement "https://www.hibernate.org/dtd/" vers "http://www.hibernate.org/dtd/"
  35. # (Hibernate résout de toute façon localement avec l'identifiant public, mais cela évite les divergences)
  36. $normalizeHttpsToHttp = $true
  37. if ($normalizeHttpsToHttp) {
  38.     $replacements['https://www\.hibernate\.org/dtd/hibernate-mapping-3\.0\.dtd']        = 'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'
  39.     $replacements['https://www\.hibernate\.org/dtd/hibernate-configuration-3\.0\.dtd']  = 'http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd'
  40. }
  41.  
  42. # 3) Scanner, corriger et sauvegarder un .bak
  43. $targets = Get-ChildItem -Path $root -Recurse -Include *.hbm.xml, hibernate.cfg.xml -ErrorAction SilentlyContinue
  44.  
  45. foreach ($file in $targets) {
  46.     try {
  47.         $content = Get-Content -LiteralPath $file.FullName -Raw -ErrorAction Stop
  48.         $orig = $content
  49.  
  50.         foreach ($pattern in $replacements.Keys) {
  51.             $replacement = $replacements[$pattern]
  52.             $content = [regex]::Replace($content, $pattern, $replacement, 'IgnoreCase')
  53.         }
  54.  
  55.         if ($content -ne $orig) {
  56.             Copy-Item -LiteralPath $file.FullName "$($file.FullName).bak" -Force
  57.             Set-Content -LiteralPath $file.FullName -Value $content -Encoding UTF8
  58.             Write-Host "Corrigé : $($file.FullName) (backup créé : $($file.FullName).bak)"
  59.         } else {
  60.             Write-Host "OK (aucune correction nécessaire) : $($file.FullName)"
  61.         }
  62.     }
  63.     catch {
  64.         Write-Warning "Échec sur $($file.FullName) : $($_.Exception.Message)"
  65.     }
  66. }
  67.  
  68. Write-Host "`nTerminé. Pensez à :"
  69. Write-Host "1) Arrêter le service Tomcat du moteur de synchro"
  70. Write-Host "2) Vider le dossier work : ..\tomcat\work\Catalina\"
  71. Write-Host "3) Redémarrer Tomcat et vérifier catalina.log"
Advertisement
Add Comment
Please, Sign In to add comment