Subject: | Support ComplexType mixed |
It seems that some WSDL's which declare the response messages to hold
mixed content do not work with SOAP::WSDL. Fortunately, there is a
simple fix:
my %mixed_of :ATTR(:name<mixed> :default<()>);
placed strategically at start of SOAP::WSDL::XSD::ComplexType.
At least it allows me to use one of the web services I need this class
for, with no apparent ill effects. SOAP::SOM, which parses the response,
is probably entirely ignorant of the response's WSDL either way, and in
this particular case the WSDL is nothing to write home about, either:
<s:element minOccurs="0" maxOccurs="1" name="FooResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
Or in other words, "send me back anything." I fear this is not an
uncommon way to treat WSDL when you have lazy service authors. (There is
an external schema file that valid result documents should conform to,
though.)