SAP Knowledge Base Article - Public

2604906 - SkillSoft Connector Error

Symptom

Run the SkillSoft Connector and it fails. Error shown appears:
com.plateausystems.connector.api.ConnectorException: WSDoAllSender: cannot get SOAP envlope from messagejava.io.IOException: java.io.IOException: Non nillable element 'mode' is null.

Environment

SAP Successfactors Learning Management System (LMS)

Reproducing the Issue

Run the SkillSoft Connector. Error shown appears in logs:
com.plateausystems.connector.api.ConnectorException: WSDoAllSender: cannot get SOAP envlope from messagejava.io.IOException: java.io.IOException: Non nillable element 'mode' is null.        at com.plateausystems.connector.skillsoft.eai.consumer.asset.impl.SkillsoftAssetWebserviceConsumerControllerImpl.mainProcess(SkillsoftAssetWebserviceConsumerControllerImpl.java:140)        at com.plateausystems.connector.consumer.skillsoft.impl.SkillsoftEntityTypesConsumerControllerServiceImpl.skillSoftWebService(SkillsoftEntityTypesConsumerControllerServiceImpl.java:67)        at com.plateausystems.connector.consumer.skillsoft.impl.SkillsoftEntityTypesConsumerControllerServiceImpl.importData(SkillsoftEntityTypesConsumerControllerServiceImpl.java:56)        at com.plateausystems.connector.consumer.impl.EntityTypesConsumerControllerServiceImpl.invokeMainWorkflow(EntityTypesConsumerControllerServiceImpl.java:113)        at com.plateausystems.connector.consumer.impl.BaseConsumerControllerServiceImpl.invokeMainWorkflow(BaseConsumerControllerServiceImpl.java:163)        at com.plateausystems.connector.consumer.impl.BaseConsumerControllerServiceImpl.invoke(BaseConsumerControllerServiceImpl.java:154)        at sun.reflect.GeneratedMethodAccessor1163.invoke(Unknown Source)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:606)        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)        at com.plateausystems.elms.framework.perfmonitor.impl.ServicePerformanceMonitorInterceptor.invoke(ServicePerformanceMonitorInterceptor.java:41)        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)        at com.plateausystems.elms.framework.usagestatistics.impl.UsageStatisticsInterceptor.invoke(UsageStatisticsInterceptor.java:66)        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)        at com.plateausystems.elms.framework.authorization.impl.ServiceAuthorizationInterceptor.invoke(ServiceAuthorizationInterceptor.java:127)        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)        at com.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 com.sun.proxy.$Proxy1248.invoke(Unknown Source)        at com.plateausystems.connector.api.ConnectorApmJob.execute(ConnectorApmJob.java:80)        at com.plateau.common.jobscheduling.impl.simple.SimpleJobRunnable.run(SimpleJobRunnable.java:95)        at com.plateau.foundation.jobscheduling.TenantAwareJobRunnable.run(TenantAwareJobRunnable.java)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)        at java.lang.Thread.run(Thread.java:807)Caused by: WSDoAllSender: cannot get SOAP envlope from messagejava.io.IOException: java.io.IOException: Non nillable element 'mode' is null.        at org.apache.ws.axis.security.WSDoAllSender.invoke(WSDoAllSender.java:159)        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:127)        at org.apache.axis.client.Call.invokeEngine(Call.java:2765)        at org.apache.axis.client.Call.invoke(Call.java:2748)        at org.apache.axis.client.Call.invoke(Call.java:2424)        at org.apache.axis.client.Call.invoke(Call.java:2347)        at org.apache.axis.client.Call.invoke(Call.java:1804)        at com.plateausystems.connector.skillsoft.services.olsa.client.OlsaSoapBindingStub.AI_InitiateFullCourseListingReport(OlsaSoapBindingStub.java:3371)        at com.plateausystems.connector.skillsoft.eai.consumer.asset.impl.SkillsoftAssetWebserviceConsumerControllerImpl.processSubjectareaData(SkillsoftAssetWebserviceConsumerControllerImpl.java:671)        at com.plateausystems.connector.skillsoft.eai.consumer.asset.impl.SkillsoftAssetWebserviceConsumerControllerImpl.processSkillsoftSubjeactareaData(SkillsoftAssetWebserviceConsumerControllerImpl.java:184)        at com.plateausystems.connector.skillsoft.eai.consumer.asset.impl.SkillsoftAssetWebserviceConsumerControllerImpl.mainProcess(SkillsoftAssetWebserviceConsumerControllerImpl.java:137)        ... 27 more

Cause

skillsoft.connector.process.itemconnector=N should be set to Y

Resolution

Go to System Amin > Configuration > System Configuration > Connectors and change the value so it reads as skillsoft.connector.process.itemconnector=Y

Keywords

SF LMS skill soft item fail failing not running , KBA , LOD-SF-LMS-CON , Connectors , LOD-SF-LMS , SuccessFactors Learning , Problem

Product

SAP SuccessFactors Learning all versions