ARRAY aus dem SOAP Aufruf kann kann nicht gespeichert werden

Hilfe zu Znuny Problemen aller Art
Locked
pokyu01
Znuny newbie
Posts: 58
Joined: 05 Aug 2010, 12:57
Znuny Version: 2.4.7

ARRAY aus dem SOAP Aufruf kann kann nicht gespeichert werden

Post by pokyu01 »

Hallo zusammen,

über die OTRS 3.0 SOAP Schnittstelle kann mit dem folgenden Aufruf abfragen, ob ein OTRS Kunde existiert.

Code: Select all

#!perl -w
###########
use strict;
use warnings;

use SOAP::Lite;

my $User = 'some_user';
my $Pw   = 'some_pass';
my $RPC = new SOAP::Lite( proxy => 'https://localhost/otrs/rpc.pl', uri => 'https://localhost/Core' );

# check if the customer exits
print "NOTICE: CustomerUserObject->CustomerName(UserLogin => 'test-user')\n";

my $som = $RPC->Dispatch( $User, $Pw, 'CustomerUserObject', 'CustomerName', UserLogin => 'test-user' );

die $som->fault->{faultstring} if $som->fault;

my $Name = $som->result;

my $Message = $Name ? 'exists' : 'does not exist';

print "NOTICE: The customer with the login 'test-user' $Message\n";
Hier wird als Rückantwort ein einzelner Wert geliefert. Dieser lässt sich dann problemlos aus $soap->result an die lokale Variable "$Name" übergeben.

Liefert ein SOAP Aufruf z.B. eine Liste oder Hash zurück, so kann ich diese an die lokale array bzw. hash Variable nicht übergeben. Bei Listen wird nur der erste Wert gespeichert.

Code: Select all

...
# get a article sender type list
$som =
  $RPC->Dispatch( $User, $Pw, 'TicketObject', 'ArticleSenderTypeList',
	Result => 'HASH' );

die $som->fault->{faultstring} if $som->fault;

my @ArticleSenderTypeList=$som->result;
...
Wie kann man die vom SOAP Aufruf zurückgegebenen Listen bzw. Hashes vollständig an die lokalen Variablen übergeben?

Danke für Eure Hilfe!

Gruß

Yury
Locked