Video Screencast Help
Protect Your POS Environment Against Retail Data Breaches. Learn More.

Monitoring Workflow Output Data

Created: 14 Mar 2013 | 8 comments

I am creating a workflow that will repair our NS7.1 agents using DS6.9. It is going to be a right click task in the NS using the 'Call Web Service' task. I want the workflow to return a status after the workflow finished like if the DS job being run finished or not.  IE: return 0 if agent was reinstalled, return 1 if agent failed to reinstall.

Operating Systems:

Comments 8 CommentsJump to latest comment

africo's picture

you can fetch the job's result from the database by jobID, and set an output value on the workflow model itself.  is this what you're hoping to accomplish?

*Edit - found an old project where I grabbed the result code from the eXpress db.

 

select s.[exit_code]
from [event_schedule] s, [event] e
join [event] e on e.[event_id] = s.[event_id]
where e.[event_id] = @job_id
and s.[computer_id] = @computer_id
 
the results of this query can be used as the output of the workflow model.
noodleNT's picture

The primary model however only has an Input Data option?

africo's picture

Sorry; you'll need to use a DecisionOnly -type project to get output results.  How are you going to use/display the returned value?

noodleNT's picture

I am using the 'Call Web Service' task in SMP and want the results of the workflow to control a task condition.

africo's picture

I'd copy whatever you've built in the workflow project to a DecisionOnly project and see how the output feeds back into your task configuration.  I don't have a lot of XP with SMP right-click wizardry, so perhaps someone who has used it and workflow in tandem will chime in and assist you better.

noodleNT's picture

I can't seem to get the workflow to trigger from a URL when using a DecisionOnly project. Is there a trick to get it to start with the URL I am using below. CompName is just the query input parameter.

 

https://localhost/Altiris-TaskManagmentCleanup/TaskManagementCleanup.asmx?CompName=MyComputer

 

AnaMan's picture

I think it's not possible to return a value from called as web service a workflow project.

The workflow projects work as a some kind of state machine but its execution is asynchronous. When its Execute() method is called process continues until a state is reached i.e. the flow met a state component like Dialog Workflow or end of model is reached. Then, by desing, Execute() method returns a workflow tracking ID. That's why Primary model has no Output Data collection.

Our two most common solution of your problem are:

  • to store a result in external storage (data base, SymQ exchange, disk file, Persistnet Storage)
  • callback - e.g. pass in as input variable of called workflow an URL of a web service which method should be called back just before ending the workflow process.