my $som = $self ->endpoint($method{endpoint}) ->uri($method{uri}) ->on_action( sub { qq/"$method{soapaction}"/ } ) ->call($method => map { @templates ? shift(@templates)->value($_) : $_ } @_); return $som unless UNIVERSAL::isa($som => 'SOAP::SOM'); return wantarray ? $som->paramsall : $som->result;