This queue is for tickets about the SOAP-Lite CPAN distribution.

Report information
The Basics
Id:
89746
Status:
new
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
florent.yvon [...] curie.fr
Cc:
AdminCc:

BugTracker
Severity:
(no value)
Broken in:
(no value)
Fixed in:
(no value)



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


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.