I have a question regarding SOAP serialization. As far as I know, SOAP specification allows arbitrary XML constructs to be appear in the body of SOAP message in a way similar to this:
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <!-- Any user defined XML goes here --> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
My program manages RDF/OWL (RDF and OWL are subsets of XML with defined schema) descriptions. It parses RDF/OWL files, creates some objects, transmits them using SOAP, and then creates RDF/OWL files again from the objects recieved on the endpoint, so newly created files could be used by any application that conforms RDF/OWL specification.
The problem is that I want to define custom SOAP serialization using SoapFormatter. I need to set up serialization in a way it allows me to create arbitrary XML in messages. Working with basic attributes controlling SOAP serialization didn't help at all -- SoapFormatter ignores them.
Using XmlSerializer is not the right way, I think. Moreover, creating complex SOAP messages with collections could be nontrivial task (we have to manage all the 'refs' in SOAP message and so on), so it won't help.
So I need ANY advice on how to create arbitrary XML elements in SOAP messages. Thanks in advance.