It sounds like you just want to write a custom deserializer then.
You can either extend the SOAP::Serializer in SOAP::Lite to do what you need, or if you already have everything, you can create something with a 'deserialize' method.
my $soap = SOAP::Lite
->uri($uri)
->proxy($proxy)
->deserializer( My::Deserializer->new() );
$soap->DoSomething();
#####
# fake deserializer, for debugging purposes
package My::Deserializer;
use SOAP::Lite;
use base qw(SOAP::Deserializer);
sub deserialize {
require Data::Dumper;
warn "deserializer : ",Dumper(@_);
SOAP::Deserializer::deserialize( @_ );
}
(note -- I've hacked this up from the deserializer that I use for debugging, but I have another layer of abstraction in there, so this should serve as a base, but may not work directly out of the box) |