SOAP::Liteを使用してSOAP応答から単純な属性値を取得できません。SOAP::Dataのコードと出力の下。属性の値を取得しようとしています//response/ dirn / attr / uuid
my $cm = new SOAP::Lite
uri => 'http://www.cisco.com/AXL/API/1.0',
proxy => "https://10.0.0.1:8443/axl/";
my $res = $cm->getPhone(
SOAP::Data->name(phoneName => 'SEP00270D3D7A4C'),
);
for my $i ($res->valueof('//device/lines/line')) {
print Dumper($i);
#print $i->{dirn}->{attr}->{'uuid'}."\n"; # line below give me an error
}
ここにData::Dumperの出力があります。私は実際に要求された値を持っていますが、SOAP::Dataを介してそれを取得できません
$VAR1 = \bless( {
'_signature' => [],
'_value' => [
bless( {
'_name' => 'dirn',
'_signature' => [],
'_value' => [
''
],
'_prefix' => '',
'_attr' => {
'uuid' => '{615C3550-1EFD-56C7-3788-2AA8725880E3}' #!!!!!!!!!!!!!!!!!!!!!!!!!!
}
}, 'SOAP::Data' ),
],
'_attr' => {}
}, 'SOAP::Data' );
この属性値を取得するために約数時間を費やしました。Data :: Dumperの出力を使用して、高速でダーティなハックとして値を取得することをすでに考えています。
前もって感謝します
PS:SOAPサーバーはCiscoCUCM6.1.5です。