Sorry, my first go was more complicated than necessary.
Here is a second simplified go to demonstrate my problem:
#!/usr/bin/perl
use warnings;
use strict;
use SOAP::Lite;
my $xml = <<'eof';
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/env
+elope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<command id="1">
<message id="2">
<time time="27.07.2007-10:37:49 +0200"/>
</message>
</command>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
eof
my $som = SOAP::Deserializer->deserialize($xml);
print "time = ", $som->dataof('//command/message/time')->attr->{time},
+ "\n";
print "done.\n";
Output is
time = 27.07.2007-10:37:49 +0200
done.
but
Can't call method "attr" on an undefined value at deserialize-test2.pl
+ line 23.
as soon as the id attributes of command and message are identical.
I wouldn't care if I could get the raw XML from the SOAP response.
Axel. |