ArticleGet über SOAP-Schnittstelle funktioniert nicht mehr

Hilfe zu OTRS Problemen aller Art
Post Reply
Zwer2k
Znuny newbie
Posts: 3
Joined: 11 Sep 2018, 09:46
Znuny Version: 6.0.11

ArticleGet über SOAP-Schnittstelle funktioniert nicht mehr

Post by Zwer2k »

Hallo alle Zusammen,

seit der Aktualisierung auf die V6 können über die SOAP-Schnittstelle (nicht GenericInterface) per ArticleGet keine Artikel-Informationen mehr abgerufen werden. Alles andere scheint weiterhin zu funktionieren.
Fehlermeldung:
Can't locate object method "ArticleGet" via package "Kernel::System::Ticket" at /opt/otrs/bin/cgi-bin/rpc.pl line 109.
Aufruf:

Code: Select all

<Dispatch xmlns="/Core">
<c-gensym1 xsi:type="xsd:string">soapuser</c-gensym1>
<c-gensym3 xsi:type="xsd:string">soappasswort</c-gensym3>
<c-gensym5 xsi:type="xsd:string">TicketObject</c-gensym5>
<c-gensym9 xsi:type="xsd:string">ArticleGet</c-gensym9>
<c-gensym11 xsi:type="xsd:string">TicketID</c-gensym11>
<c-gensym13 xsi:type="xsd:string">9025</c-gensym13>
</Dispatch>
Hat sich da etwas geändert? Wie komme ich jetzt an die Daten?

Ich würde ja gern auf GenericIterface REST-Schnittstelle umstellen, leider scheinen die Schnittstelle nicht so umfangreich zu sein wie die SOAP-Schnittstelle. Mir fehlen hier z.B. die Möglichkeit an User- und Queue-Daten zu kommen. Die Artikel-Daten sind auch nicht so umfangreich wie über die SOAP-Schnittstelle.

Ich verwende C#.

vielen Dank im Voraus
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: ArticleGet über SOAP-Schnittstelle funktioniert nicht mehr

Post by jojo »

die rpc.pl ist ein direkter Zugriff auf die API. Da diese sich geändert hat, musst Du Dein Script gemäß der OTRS 6 API anpassen
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Zwer2k
Znuny newbie
Posts: 3
Joined: 11 Sep 2018, 09:46
Znuny Version: 6.0.11

Re: ArticleGet über SOAP-Schnittstelle funktioniert nicht mehr

Post by Zwer2k »

Danke für die Antwort.

Das versuche ich schon seit zwei Tagen und komme nicht wirklich weiter.

Laut der API muss ich erst an das ArticleObject kommen und kann anschließend $ArticleObject->ArticleList die Artikel abrufen
Don't use the constructor directly, use the ObjectManager instead:
my $ArticleObject = $Kernel::OM->Get('Kernel::System::Ticket::Article');
...
Returns an filtered array of base article data for a ticket.
my @Articles = $ArticleObject->ArticleList(
...
);

Da ich nicht mit PERL arbeite, sondern mit c# und zusätzlich über SOAP-Schnittstelle kommunizieren muss, komme ich hier nicht weiter. Ich kenne keine SOAP-Bibliothek für c# die mir als Antwort Objekte liefert mit denen ich weitere Daten abrufen könnte.
Bis jetzt konnte ich mit TicketObject und UserObject entsprechende XML Anfrage an den Server schicken und bekam als Antwort die Daten. Funktioniert z.B. mit TicketGet weiterhin problemlos.

Kennt jemand eine SOAP-Schnittstelle für c# die das leistet?
Wenn nicht. Wie muss die XML Kommunikation aussehen?
Zwer2k
Znuny newbie
Posts: 3
Joined: 11 Sep 2018, 09:46
Znuny Version: 6.0.11

Re: ArticleGet über SOAP-Schnittstelle funktioniert nicht mehr

Post by Zwer2k »

Nach dem Hinzufügen von folgenden beiden Zeilen an zwei Stellen in dir rpc.pl Datei, kann ich wieder wie zuvor auf die Artikel zugreifen.

Code: Select all

$CommonObject{ArticleObject}         = $Kernel::OM->Get('Kernel::System::Ticket::Article');
$CommonObject{ArticleBackendObject}  = $Kernel::OM->Get('Kernel::System::Ticket::Article::Backend::MIMEBase');
Wurden die beiden Zeilen eventuell vergessen?
Post Reply