ECS : ECS-Sync ne peut pas migrer les objets signalant une exception SAXParseException lors de la migration du bucket
Summary: ECS-Sync ne peut pas migrer tous les objets d’un bucket et signaler SAXParseException lors de la migration du bucket.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
ECS-Sync ne peut pas migrer tous les objets d’un bucket et signaler SAXParseException lors de la migration du bucket.
Si l’erreur suivante s’affiche lors de la synchronisation d’un bucket S3, cela signifie que le bucket contient des clés d’objet avec des caractères non valides :
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 135069; An invalid XML character (Unicode: 0x3) was found in the element content of the document.
2025-07-16 02:56:43 ERROR [pool-1512497-thread-1] EcsSync: unexpected exception
javax.ws.rs.WebApplicationException: javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 324854; An invalid XML character (Unicode: 0x1) was found in the element content of the document.]
at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.readFrom(AbstractRootElementProvider.java:113) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:634) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:586) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.object.s3.jersey.S3JerseyClient.executeRequest(S3JerseyClient.java:844) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.object.s3.jersey.S3JerseyClient.listObjects(S3JerseyClient.java:512) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.object.s3.jersey.S3JerseyClient.listMoreObjects(S3JerseyClient.java:520) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.storage.s3.EcsS3Storage$PrefixIterator.lambda$getNextBatch$1(EcsS3Storage.java:1167) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.util.TimingUtil.time(TimingUtil.java:56) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.AbstractPlugin.time(AbstractPlugin.java:79) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.storage.s3.EcsS3Storage.access$500(EcsS3Storage.java:65) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.storage.s3.EcsS3Storage$PrefixIterator.getNextBatch(EcsS3Storage.java:1167) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.storage.s3.EcsS3Storage$PrefixIterator.getNextObject(EcsS3Storage.java:1144) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.storage.s3.EcsS3Storage$PrefixIterator.getNextObject(EcsS3Storage.java:1132) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.util.ReadOnlyIterator.hasNext(ReadOnlyIterator.java:32) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.EcsSync.run(EcsSync.java:291) [ecs-sync-3.5.4.jar:3.5.4]
at com.emc.ecs.sync.service.SyncJobService$SyncTask.run(SyncJobService.java:299) [ecs-sync-3.5.4.jar:3.5.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_392]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_392]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_392]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_392]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_392]
Caused by: javax.xml.bind.UnmarshalException
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335) ~[?:1.8.0_392]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:578) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:264) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:229) ~[ecs-sync-3.5.4.jar:3.5.4]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:140) ~[?:1.8.0_392]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:123) ~[?:1.8.0_392]
at com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider.readFrom(XMLRootElementProvider.java:115) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.readFrom(AbstractRootElementProvider.java:111) ~[ecs-sync-3.5.4.jar:3.5.4]
... 20 more
Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x1) was found in the element content of the document.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:399) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:326) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1466) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2922) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:601) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[?:1.8.0_392]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:642) ~[?:1.8.0_392]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:258) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:229) ~[ecs-sync-3.5.4.jar:3.5.4]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:140) ~[?:1.8.0_392]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:123) ~[?:1.8.0_392]
at com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider.readFrom(XMLRootElementProvider.java:115) ~[ecs-sync-3.5.4.jar:3.5.4]
at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.readFrom(AbstractRootElementProvider.java:111) ~[ecs-sync-3.5.4.jar:3.5.4]
... 20 more
Cause
Cela signifie que lors de l’énumération du bucket source, un caractère non valide a été rencontré et que le traitement n’a pas pu se poursuivre.
Resolution
Pour résoudre ce problème, vous devez encoder l’URL des clés lors de la création de la liste du compartiment. Cette fonction est activée par l’option avancée suivante dans le plugin ECS S3 (dans la configuration source) :

XML (emplacement dans la source <ecsS3Config> bloc) :
<urlEncodeKeys>true</urlEncodeKeys>Affected Products
ECSArticle Properties
Article Number: 000350999
Article Type: Solution
Last Modified: 13 Aug 2025
Version: 1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.