SOAP und das ServiceObject

English! place to talk about development, programming and coding
Post Reply
eeifler
Znuny newbie
Posts: 2
Joined: 22 Sep 2010, 15:04
Znuny Version: 2.4

SOAP und das ServiceObject

Post by eeifler »

Hallo zusammen,
ich bin gerade mit PHP und der SOAP-Schnittstelle von OTRS am arbeiten und möchte mir gerne die Liste mit den Services zurückgeben lassen.
Entsprechend http://dev.otrs.org/2.4/Kernel/System/Service.html dürfte dafür die Funktion "ServiceList" verantwortlich sein.
Von haus aus ist in der rpc.pl das Service-Modul nicht engebunden, folgerichtigt erhalte ich beim Aufruf der Funktion die Meldung "No such Object ServiceObject!". Passiert so wohl über PHP als auch über Perl.
Also habe ich das ganze kurzerhand selbst angepasst: rpc.pl kopiert und folgendermaßen bearbeitet:

Code: Select all

[...]
use Kernel::System::Ticket;
use Kernel::System::LinkObject;
use Kernel::System::Service; # <= *** NEU ***
[...]
    $CommonObject{TicketObject}       = Kernel::System::Ticket->new(%CommonObject);
    $CommonObject{LinkObject}         = Kernel::System::LinkObject->new(%CommonObject);
    $CommonObject{ServiceObject}      = Kernel::System::ServiceObject->new(%CommonObject); #<= *** NEU ***

    my $RequiredUser     = $CommonObject{ConfigObject}->Get('SOAP::User');
    my $RequiredPassword = $CommonObject{ConfigObject}->Get('SOAP::Password');
[...]
Entsprechend habe ich dann auch meinen SoapClient bei PHP konfiguriert und die location der RPC entsprechend angepasst.
Testweise gebe ich den Rückgabewert der Funktion mit

Code: Select all

var_dump($res);
aus. Als Ergebnis bekomme ich "NULL".

Kann mir da jemand weiterhelfen? Ich stehe etwas auf dem Schlauch und wüsste nichtmehr woran es noch liegen könnte.
eeifler
Znuny newbie
Posts: 2
Joined: 22 Sep 2010, 15:04
Znuny Version: 2.4

Re: SOAP und das ServiceObject

Post by eeifler »

Für alle die es interessiert:
Ich habe einen kleinen Fehler gemacht:

Vorher:

Code: Select all

$CommonObject{ServiceObject}      = Kernel::System::ServiceObject->new(%CommonObject); #<= *** NEU ***
Nachher:

Code: Select all

$CommonObject{ServiceObject}      = Kernel::System::Service->new(%CommonObject); #<= *** NEU ***
Selbiges funktioniert auch für SLAs und sollte auch für andere Module funktionieren.
Post Reply