Showing results for 
Search instead for 
Do you mean 
Community Home Request Access Read Blogs Share Your Ideas Search Community View My Settings
Reply
Copper Super Contributor
Posts: 172
Registered: ‎07-06-2010

Strange ProcessHost behavior (7.5.2).

I've been working through implementing Process Orchestration and encountered some very strange behavior.

 

Imagine a workflow project called MyNewWorkflow (which builds to MyNewWorkflow.dll). In it is a single sequential entity workflow called SampleWorkflow.

 

ProcessLib.xml will contain a single line that reads:

 

assembly name="MyNewWorkflow"

 

And ProcessStart.xml will contain this line:

 

runProcess name="SampleWorkflow"

 

I then restart IIS using IISRESET. And here is where the strange behavior starts.

 

When I check log4net's log, and the Event Viewer, the stop event for Sage Workflow Persistence Service is recorded:

2011-03-01 13:37:26,904 [1   ] INFO  Sage.Platform.Process.SagePersistenceService - Stopping Sage Workflow Persistence Service

 

But it does not restart. Nothing in the logs about specific reasons why, it just doesn't.

 

At first I didn't notice that the service didn't restart. I went back to RegisteredProcesses and checked the ATOM feed and I got the following error:

 

error ApplicationDiagnosis Exception caught during the processing of a message Verb: GET Uri: http://myserver:4547/ProcessHost/ProcessManager/crm/-/RegisteredProcesses Original Message: query did not return a unique result: 2 Stack Trace: at NHibernate.Impl.AbstractQueryImpl.UniqueElement(IList list) at NHibernate.Impl.AbstractQueryImpl.UniqueResult[T]() at Sage.Platform.Process.ProcessInfo.GetProcessTypeInformation() at Sage.Platform.Process.ProcessInfo.ValidateOrCreateProcessTypeInformation() at Sage.Platform.Process.ProcessEnumeratorService.GetProcesses() at Sage.Platform.Process.ProcessEnumeratorService.<System.Collections.Generic.IEnumerable<Sage.Platform.Process.ProcessInfo>.GetEnumerator>d__0.MoveNext() at Sage.Platform.Process.WorkflowProcessManagerService.Sage.Platform.Process.Interfaces.IProcessManagerService.GetRegisteredProcesses() at Sage.Platform.Process.Feeds.RegisteredProcessesRequests.GetRegisteredProcesses(IRequest message) at Invokee503bce8915645dca9a9591c7af9ab67.Invoke(Object , IRequest ) at Sage.Integration.Messaging.RequestTargetRegistration.RequestTargetInvoker.Invoke(IRequest request) at Sage.Integration.Messaging.Request.Process(RequestTargetInvoker invoker) at Sage.Integration.Messaging.MessagingService.Process(IRequest request)

 

And this IS logged in the Event Viewer.

 

In order for me to get past this, I have to rename my SampleWorkflow class (to SampleWorkflow2), recompile my workflow project, and change the related XML settings. Then it works just fine.

 

Now, I know from the training videos that you cannot have an identical workflow class name even between totally different namespaces. But shouldn't there be a recognition that this is the same namespace as it was before?