Reset password - send email via WQ - Object reference not set to an instance of an object

I tested the password reset fix - email is sent twice. It work, only if you have empty paramater MailQueueName in appsetings.json. If the parameter is filled with Origam default mail queue MAIL_OUT, the WF stops with error.

2021-07-30 17:26:35,623 [19] ERROR Origam.Security.Common.AccountMailSender - Failed to send password reset mail for username `ikocian', email `ivan.kocian@cnw.cz'
Origam.OrigamException: Object reference not set to an instance of an object.
 ---> Origam.OrigamException: Object reference not set to an instance of an object.
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Origam.Workflow.WorkQueueServiceAgent.TraceLog(String parameter) in D:\a\1\s\origam-source\Origam.Workflow\Service Agents\WorkQueueServiceAgent.cs:line 139
   at Origam.Workflow.WorkQueueServiceAgent.Add(IWorkQueueService wqs) in D:\a\1\s\origam-source\Origam.Workflow\Service Agents\WorkQueueServiceAgent.cs:line 174
   at Origam.Workflow.WorkQueueServiceAgent.Run() in D:\a\1\s\origam-source\Origam.Workflow\Service Agents\WorkQueueServiceAgent.cs:line 58
   at Origam.Workflow.Tasks.ServiceMethodCallEngineTask.OnExecute() in D:\a\1\s\origam-source\Origam.Workflow\Tasks\ServiceMethodCallEngineTask.cs:line 213
   at Origam.Workflow.ProfilingTools.<>c__DisplayClass4_0.<ExecuteAndLogDuration>g__FuncToExecute|0() in D:\a\1\s\origam-source\Origam.Workflow\ProfilingTools.cs:line 68
   at Origam.Workflow.ProfilingTools.ExecuteAndLogDuration(Func`1 funcToExecute, String logEntryType, String path, String id, Func`1 logOnlyIf) in D:\a\1\s\origam-source\Origam.Workflow\ProfilingTools.cs:line 109
   at Origam.Workflow.ProfilingTools.ExecuteAndLogDuration(Action action, String logEntryType, String path, String id, Func`1 logOnlyIf) in D:\a\1\s\origam-source\Origam.Workflow\ProfilingTools.cs:line 72
   at Origam.Workflow.Tasks.AbstractWorkflowEngineTask.MeasuredExecution() in D:\a\1\s\origam-source\Origam.Workflow\Tasks\AbstractWorkflowEngineTask.cs:line 102
   at Origam.Workflow.Tasks.ServiceMethodCallEngineTask.Execute() in D:\a\1\s\origam-source\Origam.Workflow\Tasks\ServiceMethodCallEngineTask.cs:line 71
   --- End of inner exception stack trace ---

--------------------------------------------
02_Send_byQueue
--------------------------------------------

   --- End of inner exception stack trace ---

--------------------------------------------
02_SendByQueue
--------------------------------------------
   at Origam.Workflow.WorkflowServiceAgent.ExecuteWorkflow(Guid workflowId, Hashtable parameters) in D:\a\1\s\origam-source\Origam.Workflow\Service Agents\WorkflowServiceAgent.cs:line 60
   at Origam.Workflow.WorkflowServiceAgent.Run() in D:\a\1\s\origam-source\Origam.Workflow\Service Agents\WorkflowServiceAgent.cs:line 172
   at Origam.Workbench.Services.CoreServices.WorkflowService.ExecuteWorkflow(Guid workflowId, QueryParameterCollection parameters, String transactionId) in D:\a\1\s\origam-source\Origam.Workbench.Services\CoreServices\WorkflowService.cs:line 55
   at Origam.Security.Common.AccountMailSender.SendMailByAWorkflow(MailMessage mail) in D:\a\1\s\origam-source\Origam.Security.Common\AccountMailSender.cs:line 584
   at Origam.Security.Common.AccountMailSender.SendPasswordResetToken(String username, String name, String email, String languageId, String firstName, String token, Int32 tokenValidityHours, String& resultMessage) in D:\a\1\s\origam-source\Origam.Security.Common\AccountMailSender.cs:line 376

Which version are you using?

Master 2021.2.0.2168

I can’t reproduce the problem - tested against the pickup directory. I’ll need to see your mailing configuration.

My config is:
image

image

Thanks, could you also provide your tracing configuration file?

What is tracing configuration file? Is it log4net config file?

Configuration for tracing workflows. And log4net configuration might be good idea as well.

I’m not using configuration file for tracing WF. If I want to trace WF, I set trace parameter in Architect to true.

image

loggers from log4net.config (test version):

<logger name="Origam.Security.Common.AccountMailSender" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="Mail" />
  </logger>
  <logger name="Origam.ServerCore.Controllers.MetaDataController" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="FileAppender"/>
  </logger>
  <logger name="Origam.Workflow.WorkflowEngine" additivity="false">
    <level value="ERROR"/>
    <appender-ref ref="FileAppenderWF"/>
  </logger>
    <logger name="Origam.Rule.RuleEngine" additivity="false">
    <level value="ERROR"/>
    <appender-ref ref="FileAppenderRules"/>
  </logger>
  <logger name="Origam.Server.Analytics" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="FileAppenderAPI"/>
  </logger>
  <logger name="Microsoft"  additivity="false">
	<level value="TRACE"/>
	<appender-ref ref="FileAppenderMS" />
  </logger>
  
  <logger name="Origam.Workflow.WorkQueue.WorkQueueFileLoader" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="FileAppenderWQ"/>
  </logger>
  <logger name="Origam.Workflow.WorkQueue.WorkQueueService" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="FileAppenderWQ"/>
  </logger>
  <logger name="Origam.Workflow.WorkQueue.WorkQueueWorkflowLoader" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="FileAppenderWQ"/>
  </logger>
  <logger name="Origam.Security.Identity.IdentityServiceAgent" additivity="false">
    <level value="ERROR"/>
    <appender-ref ref="FileAppenderIdent"/>
  </logger>
  <logger name="Origam.Mail" additivity="false">
    <level value="DEBUG"/>
    <appender-ref ref="FileAppenderMail"/>
  </logger>
  <logger name="Origam.DA.Service.AbstractSqlDataService" additivity="false">
    <level value="ERROR"/>
    <appender-ref ref="FileAppenderDataService"/>
  </logger>

Please have a look at Model Runtime Configuration.

Anyway is tracing set for this particular workflow?

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.