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 (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 , Learning Management System , Problem