in reply to Re^2: Using SOAP::Lite with a WSDL
in thread Using SOAP::Lite with a WSDL
Ok, try this, it adds the prefixes and an empty header.
poj#!perl use strict; use SOAP::Lite; # soap my $client = SOAP::Lite->uri('') ->proxy("loopback://"); $client->autotype(0)->readable(1); $client->outputxml(1); $client->ns("http://schemas.xmlsoap.org/soap/envelope/","soapenv"); $client->ns("http://tempuri.org/AWEService/API/WASAPI","was"); my %auth = ( WAS_userName => 'WS_Decom', WAS_password => 'PASSWORD', ); my %search = ( DEVICE_NAME => 'prodh20', RACK_NAME => '', # etc ); my @auth_data; for (keys %auth){ my $data = SOAP::Data->name( $_ => $auth{$_} )->prefix('was'); push @auth_data, SOAP::Data->type('data' => $data), } my @search_data; for (keys %search){ my $data = SOAP::Data->name( $_ => $search{$_} )->prefix('was'); push @search_data, SOAP::Data->type('data' => $data), } my $auth = SOAP::Data->name( "userIdentification" => \@auth_data )->prefix('was'); my $search = SOAP::Data->name( "locatorSearchFieldsIdentification" => \@search_data )->prefix('was'); my $header = SOAP::Data->type('xml' => ''); my $response = $client->call("RunLocator", SOAP::Header->type('data'=>$header), SOAP::Data->type('data' => $auth), SOAP::Data->type('data' => $search) ); #open OUT,'>','output.xml' or die "$!"; print $response; #close OUT;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Using SOAP::Lite with a WSDL
by lahfordie (Initiate) on May 22, 2017 at 17:09 UTC |