NServiceBus SqlTransport - 无法解析发送的消息类型

时间:2015-05-14 14:07:33

标签: nservicebus nservicebus5

更新 我发现了这个问题。我没有继承ICommand所以我添加了约定但是现在我收到以下异常:

  

找不到目标队列'Reimbursement'。你可能有   错误配置了此类消息的目的地   (Reimbursement.Messages.Commands.RequestForReimbursementCommand,   Reimbursement.Messages,Version = 1.0.0.0,Culture = neutral,   Public的MessageEndpointMappings中的PublicKeyToken = null)   配置文件中的UnicastBusConfig部分。它也可能是   还没有创建给定队列的情况   已被删除。

我正在使用SqlTransport为我们公司评估NServiceBus,我遇到了配置问题。

这是我的发件人的app.config:

<configuration>
  <configSections>
    <section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
  </configSections>
  <MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />  
  <startup> 
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key="NServiceBus/Outbox" value="true"/>
  </appSettings>
  <connectionStrings>
    <add
      name="NServiceBus/Transport"
      connectionString="Data Source=INLS-03466\ANABOLIC; Initial Catalog=CMS; Integrated Security=True;"/>
    <add
      name="NServiceBus/Persistence"
      connectionString="Data Source=INLS-03466\ANABOLIC; Initial Catalog=CMS; Integrated Security=True;"/>
    <add
      name="NServiceBus/Transport/Reimbursement"
      connectionString="Data Source=INLS-03466\ANABOLIC; Initial Catalog=Reimbursement; Integrated Security=True;"/>
  </connectionStrings>
  <UnicastBusConfig>
    <MessageEndpointMappings>
      <add Assembly="Reimbursement.Messages" Endpoint="Reimbursement" />
    </MessageEndpointMappings>
  </UnicastBusConfig>
</configuration>

当我发送命令时,我收到以下异常:

  

找不到邮件类型的目的地   Reimbursement.Messages.Commands.RequestForReimbursementCommand。校验   这部分配置   此特定消息类型或其条目的端点   组装

发件人引用Reimbursement.Messages程序集,所以我不确定为什么它无法解决这个问题。

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

消息The destination queue '*' could not be found.通常发生在服务想要订阅发布者但发布尚未运行以便它已创建其队列时。

端点只创建自己的队列,但不创建它预订的队列或发送消息的其他服务的队列。

消息No destination could be found for message type通常在配置中未定义目标,消息约定不匹配或未继承正确接口(ICommandIEventIMessage)。

答案 1 :(得分:0)

不确定原因,但我删除/重新添加了对外部Messages项目的引用,现在它似乎正在运行。