Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cant Send in 4.2 and Return in 3.x #1943

Closed
SimonCropp opened this issue Feb 3, 2014 · 3 comments
Closed

Cant Send in 4.2 and Return in 3.x #1943

SimonCropp opened this issue Feb 3, 2014 · 3 comments
Assignees
Labels
Milestone

Comments

@SimonCropp
Copy link
Contributor

When a 3.X endpoint does a Bus.Return that targets a 4.2.0 endpoint the v4 endpoint can't process the message. This makes it wire incompatible.

repro https://github.com/Particular/BugsRepro/tree/master/1943MissingCompletionMessage

So in a 4.2 endpoint

Bus.Send("Returner", new Message())
  .Register<int>(i => Debug.WriteLine(i));

and in a 3.3.8 endpoint

    public void Handle(Message message)
    {
        Bus.Return(5);
    }

results in

System.TypeLoadException occurred
  HResult=-2146233054
  Message=Could not determine type for node: 'CompletionMessage'.
  Source=NServiceBus.Core
  TypeName=""
  StackTrace:
       at NServiceBus.Serializers.XML.XmlMessageSerializer.InferNodeType(XmlNode node, Object parent) in :line 0
  InnerException: 

which then bubbles

System.Runtime.Serialization.SerializationException occurred
  HResult=-2146233076
  Message=An error occurred while attempting to extract logical messages from transport message NServiceBus.TransportMessage
  Source=NServiceBus.Core
  StackTrace:
       at NServiceBus.Pipeline.Behaviors.ExtractLogicalMessagesBehavior.Invoke(BehaviorContext context, Action next) in :line 0
  InnerException: System.TypeLoadException
       HResult=-2146233054
       Message=Could not determine type for node: 'CompletionMessage'.
       Source=NServiceBus.Core
       TypeName=""
       StackTrace:
            at NServiceBus.Serializers.XML.XmlMessageSerializer.InferNodeType(XmlNode node, Object parent) in :line 0
            at NServiceBus.Serializers.XML.XmlMessageSerializer.Process(XmlNode node, Object parent, Type nodeType) in :line 0
            at NServiceBus.Serializers.XML.XmlMessageSerializer.Deserialize(Stream stream, IList`1 messageTypesToDeserialize) in :line 0
            at NServiceBus.Pipeline.Behaviors.ExtractLogicalMessagesBehavior.Extract(TransportMessage m) in :line 0
            at NServiceBus.Pipeline.Behaviors.ExtractLogicalMessagesBehavior.Invoke(BehaviorContext context, Action next) in :line 0
       InnerException: 

Also if we switch to the Json serializer we get

Could not find type 'NServiceBus.Unicast.Transport.CompletionMessage' in assembly 
'NServiceBus.Core, Version=4.2.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c'.
@SimonCropp
Copy link
Contributor Author

suspect related to this change #893

@SimonCropp SimonCropp added the Bug label Feb 11, 2014
@johnsimons johnsimons added this to the 4.2.1 milestone Mar 27, 2014
@johnsimons johnsimons self-assigned this Mar 27, 2014
@johnsimons
Copy link
Member

@andreasohlund are we releasing this fix?

@andreasohlund
Copy link
Member

Yes, lets do it!

Sent from my iPhone

On 1 maj 2014, at 04:11, John Simons notifications@github.com wrote:

@andreasohlund are we releasing this fix?


Reply to this email directly or view it on GitHub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants