Details
Description
I'm trying to build a ansi c client & server from a wsdl using wsdl2c.
I have a request-type which contains another complex type (see example below).
While serializing there is an xs:type written into the stream for each element, but the inner structure "overwrites" the type of the outer structure.
The server then is unable to unpack this message and writes an error into the log, that "non nillable or minOccurs != 0 element some1 missing"
Types:
<xs:element name="testRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="arg0" type="tns:trArg1" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="trArg1">
<xs:sequence>
<xs:element name="some1" type="xs:long"/>
<xs:element name="some2" type="xs:short"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Request-Soap (on testRequest there should not be an xsi:type=trArg1 in my understanding):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<n:testRequest xmlns:n="http://www.test.ch/test/TestVer"
xmlns:xsi="http://www.test.ch/test/TestVer"
xsi:type="trArg1">
<arg0 xsi:type="trArg1">
<some1>1</some1>
<some2>2</some2>
</arg0>
</n:testRequest>
</soapenv:Body>
</soapenv:Envelope>