Callback Issue with Azure Website


(Roger Harvey) #1

We have a system with a Web API running in an Azure website that sends command messages to a command handler over database transport. The command handler lives in a VM while the API is deployed as an Azure website. The issue is that the callback mechanism doesn’t work. I can see that all of the table infrastructure is in place, and I can follow the message flow and even see the Reply message get into the UniqueIdentifierInstance queue table, and get picked up by the azure website, but instead of acting on the callback, it throws an error. The full error is below, but essentially the root of it is “no handler could be found for message type: ReplyMessage”.

The system works fine when deployed on normal IIS as a normal website. In the Azure Websites I have it specifically set to NOT scale out and only use a single instance, so there is only 1 instance that would ever receive the callback. Does anyone have any ideas??? Thanks in advance for your help!

ERROR MESSAGE HEADER VALUE:
{“NServiceBus.MessageId”:“62b270e2-7978-430f-aaca-a81600a3330b”,“NServiceBus.MessageIntent”:“Reply”,“NServiceBus.ReplyToAddress”:“SERVICEBUS_FOODCHART_GENERATOR@[dbo]@[dcpdb]”,“NServiceBus.CorrelationId”:“1f92a506-487e-4fad-9a48-a81600a306b4”,“NServiceBus.OriginatingMachine”:“mmDCPNode1”,“NServiceBus.OriginatingEndpoint”:“SERVICEBUS_FOODCHART_GENERATOR”,"$.diagnostics.originating.hostid":“987c0d53f8ec6c0658b6139fbd0dbd22”,“NServiceBus.ContentType”:“application/json”,“NServiceBus.EnclosedMessageTypes”:“MinuteMenu.ServiceBusMessages.Replies.CreateFoodChartReply, ServiceBusMessages, Version=1.0.6505.39081, Culture=neutral, PublicKeyToken=null”,“NServiceBus.RelatedTo”:“1f92a506-487e-4fad-9a48-a81600a306b4”,“NServiceBus.ConversationId”:“24e7a511-782f-4c4b-a15b-a81600a30712”,“NServiceBus.Version”:“6.4.0”,“NServiceBus.TimeSent”:“2017-10-24 09:54:11:448698 Z”,“NServiceBus.ExceptionInfo.ExceptionType”:“System.InvalidOperationException”,“NServiceBus.ExceptionInfo.HelpLink”:null,“NServiceBus.ExceptionInfo.Message”:“No handlers could be found for message type: MinuteMenu.ServiceBusMessages.Replies.CreateFoodChartReply”,“NServiceBus.ExceptionInfo.Source”:“NServiceBus.Core”,“NServiceBus.ExceptionInfo.StackTrace”:“System.InvalidOperationException: No handlers could be found for message type: MinuteMenu.ServiceBusMessages.Replies.CreateFoodChartReply\u000d\u000a at NServiceBus.LoadHandlersConnector.d__1.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Pipeline\Incoming\LoadHandlersConnector.cs:line 31\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.DeserializeLogicalMessagesConnector.d__1.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Pipeline\Incoming\DeserializeLogicalMessagesConnector.cs:line 33\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.InvokeAuditPipelineBehavior.d__1.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Audit\InvokeAuditPipelineBehavior.cs:line 20\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.ReceivePerformanceDiagnosticsBehavior.d__2.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Performance\Statistics\ReceivePerformanceDiagnosticsBehavior.cs:line 40\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.ProcessingStatisticsBehavior.d__0.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Performance\Statistics\ProcessingStatisticsBehavior.cs:line 27\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.TransportReceiveToPhysicalMessageProcessingConnector.d__1.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Pipeline\Incoming\TransportReceiveToPhysicalMessageProcessingConnector.cs:line 39\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.MainPipelineExecutor.d__1.MoveNext() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Pipeline\MainPipelineExecutor.cs:line 34\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.Transport.SQLServer.ReceiveStrategy.d__14.MoveNext()\u000d\u000a— End of stack trace from previous location where exception was thrown —\u000d\u000a at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\u000d\u000a at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\u000d\u000a at NServiceBus.Transport.SQLServer.ProcessWithNativeTransaction.d__3.MoveNext()”,“NServiceBus.TimeOfFailure”:“2017-10-24 09:54:13:541058 Z”,“NServiceBus.FailedQ”:“SERVICEBUS_DISTRIBUTED_PROCESSOR_API.DistributedProcessingFarmNode_1@[dbo]@[dcpdb]”,“NServiceBus.ProcessingMachine”:“RD0003FF80BDAE”,“NServiceBus.ProcessingEndpoint”:“SERVICEBUS_DISTRIBUTED_PROCESSOR_API”,"$.diagnostics.hostid":“ec73550722d8bbe11ed60ae8390f98df”,"$.diagnostics.hostdisplayname":“RD0003FF80BDAE”}


(Sean Feldman) #2

Hi @Roger_Harvey,

the error you’re getting normally would indicate about an issue with the deployment ("No handlers could be found for message type") . Could you access the deployed assemblies (via kudu) and validate that the endpoint assembly has a handler for the message type MinuteMenu.ServiceBusMessages.Replies.CreateFoodChartReply?

Sean