When receiving an InterAppCall, the deserializing fails with below exception.
Seems that the type of the list isn't matching.
System.Collections.Generic.List`1
[
[Skyline.IAC.Endpoints.Resources.EndpointHealth, Unified Streaming Unified Origin Monitoring.1.0.1.4_B10.QAction.1, Version=1.0.0.7, Culture=neutral, PublicKeyToken=null] ],
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not compatible with 'System.Collections.Generic.List`1
[
[Skyline.IAC.Endpoints.Resources.EndpointHealth, British Telecom Unified Streaming Single Channel Failover.1.0.0.1_B5.QAction.1, Version=1.0.0.11, Culture=neutral, PublicKeyToken=null] ],
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
The received interapp rawdata contains the extended type info
"$type": "System.Collections.Generic.List`1[[Skyline.IAC.Endpoints.Resources.EndpointHealth, Unified Streaming Unified Origin Monitoring.1.0.1.4_B10.QAction.1, Version=1.0.0.7, Culture=neutral, PublicKeyToken=null]], ",
Do note that I'm using class library as nuget packages (both protocols use same version).
Does anyone has an idea how to get this working?
Hi Andries,
You probably defined a type Skyline.IAC.Endpoints.Resources.EndpointHealth in both protocols. The type info that is passed along in the serialized message includes the assembly in which this type was defined. On the receiving end you also have a type Skyline.IAC.Endpoints.Resources.EndpointHealth but it is defined in another assembly which results in the error you observe.
You could create a new assembly that contains the Skyline.IAC.Endpoints.Resources.EndpointHealth type and then use this assembly in both protocols.