in reply to SOAP::WSDL can't pass abstract complextypes (w/ wsdl2perl.pl bindings)

I think that you need to set the type like:

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TargetCopyRequest">

A more complete example:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envel +ope/"> <soapenv:Body> <copy xmlns="http://www.strongmail.com/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Ta +rgetCopyRequest"> <fromId><id>123</id></fromId> <newName>New Name</newName> </copy> </soap:Body> </soap:Envelope>

Replies are listed 'Best First'.
Re^2: SOAP::WSDL can't pass abstract complextypes (w/ wsdl2perl.pl bindings)
by netpenthe (Initiate) on Mar 29, 2010 at 23:04 UTC

    Thanks for the reply, yes i think you're right, i need to set the type.

    The problem is i'm using SOAP::WSDL so i'm not actually writing the XML myself, i'm just creating a Perl hash/array and SOAP::WSDL converts it into the XML.

    The question I have is: is it possible to tell SOAP::WSDL what "xsi:type" and "xmlns" should be added to a particular ComplexType? (in default it does not set anything).

        arrrgghh... ! .. OK thanks for that, i guess i can try with SOAP::Lite