2488275 - Quotes in the User Connector data

SAP Knowledge Base Article - Public

2488275 - Quotes in the User Connector data

Symptom

User Connector failing when there are quotes " in the data feed file with the below error log.

ERROR:

java.io.IOException: Unescaped quote detected at line - 1.

Last successfully processed line number - 1

atcom.plateausystems.connector.importdata.impl.EOLLineNumberReader.handleUnEscapedQuote(EOLLineNumberReader.java:107)

at com.plateausystems.connector.importdata.impl.EOLLineNumberReader.readLine(EOLLineNumberReader.java:82)

atcom.plateausystems.connector.importdata.impl.supercsv.io.SuperCSVTokenizer.readStringList(SuperCSVTokenizer.java:72)

atcom.plateausystems.connector.importdata.impl.supercsv.io.PlateauCsvMapReader.readRawLine(PlateauCsvMapReader.java:36)

atcom.plateausystems.connector.importdata.impl.supercsv.SuperCSVDataImportServiceImpl.processData(SuperCSVDataImportServiceImpl.java:187)

atcom.plateausystems.connector.importdata.impl.supercsv.SuperCSVDataImportServiceImpl.importDataProcess(SuperCSVDataImportServiceImpl.java:126)

atcom.plateausystems.connector.importdata.impl.AbstractDataImportServiceImpl.importData(AbstractDataImportServiceImpl.java:115)

at sun.reflect.GeneratedMethodAccessor839.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

atcom.plateausystems.elms.framework.usagestatistics.impl.UsageStatisticsInterceptor.invoke(UsageStatisticsInterceptor.java:66)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

atcom.plateausystems.elms.framework.authorization.impl.ServiceAuthorizationInterceptor.invoke(ServiceAuthorizationInterceptor.java:127)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

atcom.plateausystems.elms.framework.localization.DataLocalizationInterceptor.invoke(DataLocalizationInterceptor.java:72)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

at $Proxy473.importData(Unknown Source)

at com.plateausystems.connector.importdata.impl.FileDataImport.importData(FileDataImport.java:114)

at sun.reflect.GeneratedMethodAccessor1399.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)

at $Proxy474.importData(Unknown Source)

atcom.plateausystems.connector.consumer.impl.BaseConsumerControllerServiceImpl.importData(BaseConsumerControllerServiceImpl.java:1161)

atcom.plateausystems.connector.consumer.student.impl.StudentConsumerControllerServiceImpl.importData(StudentConsumerControllerServiceImpl.java:43)

atcom.plateausystems.connector.consumer.impl.EntityTypesConsumerControllerServiceImpl.invokeMainWorkflow(EntityTypesConsumerControllerServiceImpl.java:113)

atcom.plateausystems.connector.consumer.impl.BaseConsumerControllerServiceImpl.invokeMainWorkflow(BaseConsumerControllerServiceImpl.java:159)

atcom.plateausystems.connector.consumer.impl.BaseConsumerControllerServiceImpl.processSequencedInputFiles(BaseConsumerControllerServiceImpl.java:1215)

atcom.plateausystems.connector.consumer.impl.BaseConsumerControllerServiceImpl.invoke(BaseConsumerControllerServiceImpl.java:148)

at sun.reflect.GeneratedMethodAccessor1183.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

atcom.plateausystems.elms.framework.usagestatistics.impl.UsageStatisticsInterceptor.invoke(UsageStatisticsInterceptor.java:66)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

atcom.plateausystems.elms.framework.authorization.impl.ServiceAuthorizationInterceptor.invoke(ServiceAuthorizationInterceptor.java:127)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

atcom.plateausystems.elms.framework.localization.DataLocalizationInterceptor.invoke(DataLocalizationInterceptor.java:72)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

at $Proxy483.invoke(Unknown Source)

at com.plateausystems.connector.api.ConnectorApmJob.execute(ConnectorApmJob.java:80)

at com.plateau.common.jobscheduling.impl.simple.SimpleJobRunnable.run(SimpleJobRunnable.java:85)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:789)

Environment

LMS - Learning Management System

SuccessFactors LMS

Reproducing the Issue

Try running the connector with the data in the feed file like for eg: Communi"cation

Cause

When we do not escape the quotes properly in the data, then the issue occurs.

Resolution

If " is part of data , then we have to escape it with another " quote which will resolve the issue.

for eg: communi""cation instead of communi"cation.

Keywords

quotes double quotes " user connector  , KBA , LOD-SF-LMS-CON , Connectors , Problem

Product

SAP SuccessFactors Learning all versions