开发者

NServiceBus.Unicast.Transport.CompletionMessage was not registered in the serializer

A suite of integration services that use NServiceBus have been dropped in my lap (unfortunately I was not involved in the original implementation and the person who did write the code has left).

The services work fine in our development & testing environments; but I cannot get them to run in our production environment. I get the error

NServiceBus.Unicast.Transport.CompletionMessage was not registered in the serializer. 
Check that it appears in the list of configured assemblies/types to scan.

I've checked the config files on the servers and they're almost identical; in particular the MsmqTransportConfig and UnicastBusConfig blocks are identical. The major difference between the two environments is that in production, the web/app/database tiers are on separate servers whereas in the testing environment they all reside on the same server. However, the integration service calls are only made from the app tier, and even in production the app tier and integration services reside on the same server (at least for now), so I'm not sure this should make a difference.

I did download the documentation (the .chm file) but every topic I click on says "broken link".

I've also read several the questions and answers including开发者_如何学JAVA this one, but since the code is working in our testing environment I'm somewhat reluctant to make changes to it.

We're configuring NServiceBus as follows:

        NServiceBus.Configure.WithWeb()
            .Log4Net()
            .StructureMapBuilder(ObjectFactory.Container)
            .XmlSerializer()
            .MsmqTransport()
                .IsTransactional(true)
                .PurgeOnStartup(false)
            .MsmqSubscriptionStorage()
            .UnicastBus()
                .LoadMessageHandlers()
                .ImpersonateSender(false)
            .CreateBus()
            .Start();

and the transport is configured like so:

  <MsmqTransportConfig
    InputQueue="OutboundSubscriptionRequestQueue"
    ErrorQueue="error"
    NumberOfWorkerThreads="1"
    MaxRetries="5"
  />

  <UnicastBusConfig
    DistributorControlAddress=""
    DistributorDataAddress=""
    ForwardReceivedMessagesTo="">
    <MessageEndpointMappings>
    </MessageEndpointMappings>
  </UnicastBusConfig>

I would really appreciate any assistance. I'm not necessarily looking to have an answer handed to me, just a nudge in the right direction ... right now I feel as though I'm shooting in the dark.


Sounds like nsb fails to scan nservicebus.core.dll for types. Can you verify that its present, not blocked and that log4net.dll is deployed in the same dir.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜