sub release { my ($args) = @_; # IIS web services expect / as a separator for uri and method. my $lite = SOAP::Lite->new()->on_action(sub { join '/', @_ } ) ->proxy($args->{proxy}), SOAP::Header->name('Authentication' => SOAP::Header->value( SOAP::Header->name('user')->value($zID), SOAP::Header->name('password')->value($zPW))); my $response = $lite->call( SOAP::Data->name('release') ->attr({ 'xmlns', $args->{xmlns}}), SOAP::Data->name('request' => \SOAP::Data->value( SOAP::Data->name('actionTime')->value($args->{actionTime}), SOAP::Data->name('id')->value($args->{id})->type('long'), SOAP::Data->name('state')->value($args->{state})->type('string'), SOAP::Data->name('result')->value($args->{result})->type('string') )), ); return $response; }