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.