I'm trying to connect to a web service using SOAP::Lite using a WSDL file. Now everything works as expected apart from the Complex Type that I need to pass in which just seems to get ignored in the REQUEST header so isn't sent. This is the valid XML for the complex type (checked in SoapUI):
<ListOfAccountContactInterface> <Account> <CompanyId>1029843</ConnectCompanyId> <ListOfContact> <Contact> <ContactId>CON12347</ContactId> </Contact> </ListOfContact> </Account> </ListOfAccountContactInterface>
I'm using the following code to try to generate that same thing for SOAP::Lite:
my $param = SOAP::Data->name("ListOfAccountContactInterface" => \SOAP: +:Data->value( SOAP::Data->name("Account" => \SOAP::Data->value( SOAP::Data->name("CompanyId" => '1029843'), SOAP::Data->name("ListOfContact" => \SOAP::Data->value( SOAP::Data->name("Contact" => \SOAP::Data->value( SOAP::Data->name("<ContactId>" => 'CON12347') )) )) )) ));
But then when I pass that through SOAP::Lite using the below it just gets left out of the request header:
my $soap_result = SOAP::Lite -> service('file:/home/wsdl/Contact_Interface.wsdl') -> ContactInsertOrUpdate($param);
Hope that makes sense, and any help would be greatfully received.

In reply to Soap::Lite and Complex Types with WSDL by firstaspect

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.