BEGIN { package MySerializer; @MySerializer::ISA = 'SOAP::Serializer'; sub envelope { $_[2] =~ s/Response$// if $_[1] =~ /^(?:method|response)$/; shift->SUPER::envelope(@_); } #### #!/usr/bin/perl use SOAP::Lite +trace => 'debug'; use Data::Dumper; $HOST = "http://path/to/server.pl"; $NS = "urn:MyModule"; $PHRASE = shift; # read from the command line my $soap = SOAP::Lite ->readable(1) ->uri($NS) ->proxy($HOST); my $som = $soap->product_info_request( SOAP::Data->name("version" => "1.0"), SOAP::Data->name("prod_no" => "$PHRASE") ); $res = $som->result; print Dumper($som);