ECS: ECS-Sync no puede migrar objetos que informen SAXParseException durante la migración del depósito
Summary: ECS-Sync no puede migrar todos los objetos en un depósito y notificar SAXParseException durante la migración del depósito.
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 no puede migrar todos los objetos en un depósito y notificar SAXParseException durante la migración del depósito.
Si ve el siguiente error durante la sincronización de un depósito de S3, hay claves de objeto en el depósito con caracteres no válidos:
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
Esto significa que, al enumerar el depósito de origen, se encontraba un carácter no válido y el procesamiento no podía continuar.
Resolution
Para resolver esto, debe codificar las claves mediante la URL cuando enumere el depósito. Esta función se activa mediante la siguiente opción avanzada en el plug-in de S3 de ECS (en la configuración de origen):

XML (lugar dentro de la fuente <ecsS3Config> bloque):
<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.