Is there any way that I can consume WCF services that use binary serialization for their communication? What is the format of the serialization, can I somehow deserialize .NET serialized objects (with non .NET)?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
If by “binary serialization” you mean endpoints with the binary encoding, then yes, you can somehow deserialize the .NET objects on non-.NET clients – the format is publicly documented (see below). However, AFAIK there are no libraries for non-.NET clients which can deserialize objects in that format, so you’re on your own. If you can, you really should consider adding another endpoint that exposes the data in “normal” XML.
The binary format (again, if that’s what you’re using – the binary encoder) is actually just a format for XML. So instead of having the data serialized in a format such as
It would be serialized in a binary version of it, but it would represent the same data (XML Infoset).
The specification for the binary XML format can be found at http://msdn.microsoft.com/en-us/library/cc219210(v=prot.10).aspx. The binary format also defines a dictionary concept (for eliminating from the stream repeated or commonly used strings), and you’ll likely need to look at the “SOAP Data Structure” protocol at http://msdn.microsoft.com/en-us/library/cc219175(v=prot.10).aspx as well.