I have a Struct called ReferentialData
and 2 others (pReferentialData and externalReferentialData) that have ReferentialData as ancestor.
The problem is that in the enveloppe then both appear like this <referentialData>
so the server doesn’t know if it is a pReferentialData or a externalReferentialData
I should get something like this <referentialData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:pReferentialData">
for pReferentialData and <referentialData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:externalReferentialData"> for externalReferentialData
I thought I could simply replace in the sent Stream by the matching string. but the problem is that at this time I don’t know myseld if the data is a pReferentialData or externalReferentialData.
Is there a way to force the value directly in the attributes of these 2 objects ? And how ?
I ave trye dto do this but I still get <referentialData>
Note that many chars are not accepted if I try to use <referentialData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:externalReferentialData">
So I have just used externalReferentialData instead same problem with pReferentialData
but in TROXMLSerializer.WriteStruct aClass.ClassName is always a referentialData and it has only importedfromnamespace attribute like the attrbutes of referentialData in the Rodl file.
here the ancestor is always called not the externalReferentialData
you have this behavior because _referentialData field inside coreData struct has soapname=referentialData so it will be always written with referentialData name