Subject: | stubmaker.pl and complexType |
Date: | Thu, 24 Oct 2013 15:33:43 +0200 |
To: | <bug-SOAP-Lite [...] rt.cpan.org> |
From: | Florent Yvon <florent.yvon [...] curie.fr> |
Hello,
it seems that stubmaker can't handle complex types as method parameters.
For example, I have a method described in the WSDL like this:
/<wsdl:message name="findById">
<wsdl:part element="tns:findById" name="parameters">
</wsdl:part>
</wsdl:message>
/Here the description of the complexType in the xsd part of the wsdl:
/
<xs:complexType name="findById">
<xs:sequence>
<xs:element minOccurs="0" name="object_id" type="xs:int"/>
</xs:sequence>
</xs:complexType>/
Since the generated perl SOAP client contains a template like this for
the method "findById":
/SOAP::Data->new(name => 'findById', type => 'tns:findById', attr => {})/
the generated SOAP request looks like this:
/<soapenv:Body>
<tns:findById>
<findById xsi:nil="true" xsi:type="tns:findById" />
</tns:findById>
</soapenv:Body>/
while the true working request body should be this:
/<soapenv:Body>
<tns:findById>
<object_id>an integer</object_id>
</tns:findById>
</soapenv:Body>/
Of course I could edit each Perl SOAP client to have correct parameter
types, but we have multiple WSDL files to convert, and often updated.
Is there anyway to deal with complex types with stubmaker ?
Regards
Florent