In a StrucData I have some fields, but I want some of them to not appear in the enveloppe is they are not set.
I mean instead of having something like <organizationalUnitId/> having nothing since this is optionnal.
Is there a way to do this ?
I want a Struct Data to appear like this <referentialData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="bus:externalReferentialData">
instead of <referentialData>
What should I add to the Rodl file?
xsi:type tag is generated only if xsoSendUntyped isn’t set in SerializationOptions property of SOAPMessage and IsSimpleTypeExtension attribute isn’t set in RODL. You can see specific conditions for each type in uROXMLSerializer.pas
there’s a strange thing xsoSendUntyped is not set on the Message Component while it it set when debuging.
Is there something that can change the property during runtime ?
xsoSendUntyped is set for sRPCLiteral / sDocumentLiteral modes and unset for sRPCEncoding soap modes.
Look like your WSDL (and RODL later) contains Use=Literal attribute so xsoSendUntyped is set automatially
these (and others) attributes allows you to customize SOAP message and generate valid xml.
this means that soap importer detected that server-side allows only sDocumentLiteral mode and change these values could generate incompatible xml as a result, server won’t accept generated xml.
This webservice is realy a nightmare, doing this doesn’t work because all the other part of the enveloppe (that worked previously) changes also.
Is there a way to have RPC not on the operation level but only in a struct level ?