Wednesday, 7 January 2015

caught exception while attempting to execute service MailboxAdd -No user token found in WFC

Problem Description:
Mailbox add service fails when we are trying to invoke the bp using a webservice and that bp has a mailbox add step.
The mailbox.log doesnot conatin error wf.log has below errors.


Errors in wf.log 
===========wf.log==================================>
[2014-12-30 14:14:36.526] ERROR 000110060004 WORKFLOW.ACTIVITY_ENGINE.ERR_ActivityEngineHelper_invokeService2 ActivityEngineHelper.invokeService() caught exception while attempting to execute service MailboxAdd
[2014-12-30 14:14:36.527] ERROR [1419920076527] No user token found in WFC
[2014-12-30 14:14:36.527] ERRORDTL [1419920076527]com.sterlingcommerce.woodstock.workflow.WorkFlowException: No user token found in WFC
at com.sterlingcommerce.woodstock.services.mailbox.MailboxService.getUserToken(MailboxService.java:168)
at com.sterlingcommerce.woodstock.services.mailbox.MailboxService.processData(MailboxService.java:95)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1818)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:631)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:362)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:461)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:240)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:197)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:184)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:444)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:508)
at java.lang.Thread.run(Thread.java:795)
================================================================>

Resolution:
1.Create a service instance of SetUserToken service:-
Deployment >Services > Configuration > New
Click on the "List View" icon Select SetUserToken and then the Save button
Click on Next
Enter a name as SetUserToken and fill the description.
Click on Next and Finish

2. Add the below code just before mailbox add service. save the settings and test the bp.

<operation name="set user token">
          <participant name="SetUserToken"/>
          <output message="SetUserTokenMessage">
            <assign to="USER_TOKEN">admin</assign>
            <assign to="." from="*"/>
          </output>
          <input message="inmsg">
            <assign to="." from="*"/>
          </input>
        </operation>

No comments:

Post a Comment