IBM Support

Connect:Direct Server Begin Session Service fails with error - Mandatory Parameter Missing

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>
 

Error Message

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)

[{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]

Log InLog in to view more of this document

This document has the abstract of a technical article that is available to authorized users once you have logged on. Please use Log in button above to access the full document. After log in, if you do not have the right authorization for this document, there will be instructions on what to do next.

Historical Number

NFX7989

Document Information

Modified date:
20 November 2019

UID

swg21559484