Troubleshooting
Problem
Connect:Direct Server Begin Session Service fails with error - Mandatory Parameter Missing
Symptom
Using Gentran Integration Suite 4.3 and build 4318. Sporadically the Connect:Direct Server Begin Session Service fails with error - Mandatory Parameter Missing. Within Process Data the element PrimitiveBeginSessionParms is empty - there are no child elements. The LocalCDNodeName is missing and the service fails.
Indications are this problem occurs when the Connect Direct Server Begin Session Service switches nodes. The errors observed have pattern of switching to node 2 when problem occurs. Also an error occurred when Connect Direct CopyTo service switched nodes.
The environment is a two node cluster. Only one Connect Direct Server Adapter is in use. The adapter is configured for node 1. The Business Process has been configured for node 1. Also in attempt to correct problem the Business Process CDInterop_BeginSessionWithLoop is set to mandatory node 1. The Connect Direct Begin Session Service doesn't have an environment setting.
In an attempt to work around the problem the customer coded <assign to="mandatoryNode">node1</assign> for CDServerBeginSession. This parameter does not appear to affect the problem.
The customer is passing parameters as messages to the service. Not setting the parameter in process data before the service is called. The suspicion is the messages are getting lost when the service starts on node 2 and then remainder of the Business Process runs back on node1.
Below is example of the customer's Business Process.
<operation name="CD Server Begin Session Service">
<participant name="CDServerBeginSession"/>
<output message="CDSBSBInputMessage">
<assign to="." from="*"></assign>
<assign to="LocalCDNodeName" from="//ProcessData/LocalCDNodeName2use/text()"></assign>
<assign to="RemoteCDNodeName" from="//ProcessData/RemoteCDNodeName2use/text()"></assign>
<assign to="RemotePasswd" from="//ProcessData/RemotePasswd2use/text()"></assign>
<assign to="RemoteUserId" from="//ProcessData/RemoteUserId2use/text()"></assign>
</output>
<input message="inmsg">
<assign to="BeginSessionResults" from="*"></assign>
</input>
</operation>
Errors from the cdinterop.log are below. Also information was collected from the wf.log, screen prints of the Business Process details for error and successful work flows, Process Data for the error and successful work flows, export of the Connect Direct Server Adapter and the BPML of the Business Process.
03fb74bfd444c710:1672cd47:124f8e07aec:-7fcf
[2009-11-16 10:25:45.034] ERROR 000000000000 GLOBAL_SCOPE CDServerBeginSessionService.getStringParameter() - missing parameter: [LocalCDNodeName]
[2009-11-16 10:25:45.04] ERROR 000000000000 GLOBAL_SCOPE
com.sterlingcommerce.woodstock.cdinterop.MissingParameterException: Required Parameter LocalCDNodeName Missing
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.getStringParameter(CDService.java:181)
at com.sterlingcommerce.woodstock.services.cdinterop.server.CDServerBeginSessionService.primitiveProcessData(CDServerBeginSessionService.java:80)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService$1.run(CDService.java:94)
at com.sterlingcommerce.woodstock.mailbox.db.DatabaseOperation.runContained(DatabaseOperation.java:106)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.processData(CDService.java:92)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1770)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:640)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:367)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:328)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:202)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:163)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:149)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:331)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:517)
at java.lang.Thread.run(Thread.java:595)
[2009-11-16 10:25:45.041] ERROR 000000000000 GLOBAL_SCOPE [CDServerBeginSessionService] - setting WFC Status to ERROR with Advanced Status [Mandatory Parameter Missing Error]
com.sterlingcommerce.woodstock.cdinterop.MissingParameterException: Required Parameter LocalCDNodeName Missing
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.getStringParameter(CDService.java:181)
at com.sterlingcommerce.woodstock.services.cdinterop.server.CDServerBeginSessionService.primitiveProcessData(CDServerBeginSessionService.java:80)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService$1.run(CDService.java:94)
at com.sterlingcommerce.woodstock.mailbox.db.DatabaseOperation.runContained(DatabaseOperation.java:106)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.processData(CDService.java:92)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1770)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:640)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:367)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:328)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:202)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:163)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:149)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:331)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:517)
at java.lang.Thread.run(Thread.java:595)
[2009-11-16 11:15:38.22] ERROR 000000000000 GLOBAL_SCOPE CDServerBeginSessionService.getStringParameter() - missing parameter: [LocalCDNodeName]
[2009-11-16 11:15:38.23] ERROR 000000000000 GLOBAL_SCOPE
com.sterlingcommerce.woodstock.cdinterop.MissingParameterException: Required Parameter LocalCDNodeName Missing
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.getStringParameter(CDService.java:181)
at com.sterlingcommerce.woodstock.services.cdinterop.server.CDServerBeginSessionService.primitiveProcessData(CDServerBeginSessionService.java:80)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService$1.run(CDService.java:94)
at com.sterlingcommerce.woodstock.mailbox.db.DatabaseOperation.runContained(DatabaseOperation.java:106)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.processData(CDService.java:92)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1770)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:640)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:367)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:328)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:202)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:163)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:149)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:331)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:517)
at java.lang.Thread.run(Thread.java:595)
[2009-11-16 11:15:38.231] ERROR 000000000000 GLOBAL_SCOPE [CDServerBeginSessionService] - setting WFC Status to ERROR with Advanced Status [Mandatory Parameter Missing Error]
com.sterlingcommerce.woodstock.cdinterop.MissingParameterException: Required Parameter LocalCDNodeName Missing
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.getStringParameter(CDService.java:181)
at com.sterlingcommerce.woodstock.services.cdinterop.server.CDServerBeginSessionService.primitiveProcessData(CDServerBeginSessionService.java:80)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService$1.run(CDService.java:94)
at com.sterlingcommerce.woodstock.mailbox.db.DatabaseOperation.runContained(DatabaseOperation.java:106)
at com.sterlingcommerce.woodstock.services.cdinterop.CDService.processData(CDService.java:92)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1770)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:640)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:367)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:328)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:202)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:163)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:149)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:331)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:517)
at java.lang.Thread.run(Thread.java:595)
Log InLog in to view more of this document
Historical Number
NFX7989
Was this topic helpful?
Document Information
Modified date:
20 November 2019
UID
swg21559484