Verarbeiten einer SOAP-Response

Hilfe zu Znuny Problemen aller Art
Locked
chris2k
Znuny newbie
Posts: 5
Joined: 25 Jun 2014, 12:48
Znuny Version: 5.0.13
Real Name: Christian

Verarbeiten einer SOAP-Response

Post by chris2k »

Hallo zusammen,

eine Frage. Ich möchte eine Schnittstelle zu einem externen System erstellen. Dazu habe ich über die Webservices einen Invoker erstellt, der Daten an dieses System überträgt. Das funktioniert auch alles wunderbar, das externe System erhält meine Informationen und sendet mir eine Response zurück - in dem Fall eine externe TicketID.
Jetzt möchte ich diese ID in meine Ticketinformation in ein dynamisches Feld übertragen.
Dazu habe ich das einkommende Feld auf mein Dynamisches Feld (externalid) gemappt. Leider wird das dort nicht eingetragen. Ich finde zu dem Thema auch recht wenig Doku - evtl. könnt ihr mir einen Denkanstoß geben, wo ich nachschauen muss.

Code: Select all

Incoming data before mapping (2016-12-01 17:43:49, debug)

$VAR1 = {
  'Errors' => '',
  'PersonMaps' => '',
  'PrdIctId' => '9000101357ABS'
};

Incoming data after mapping (2016-12-01 17:43:49, debug)

$VAR1 = {
  'DynamicField_externalid' => '9000101357ABS',
  'Errors' => '',
  'PersonMaps' => ''
};
Danke und Grüße
Christian
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Verarbeiten einer SOAP-Response

Post by RStraub »

Huhu,

hier ist eine API Referenz:
https://otrs.github.io/doc/api/otrs/5.0/Perl/index.html

Um einen Wert zu setzen wäre z.B. notwendig:

Code: Select all

my $DynamicFieldObject = $Kernel::OM->Get('Kernel::System::DynamicField');
my $BackendObject = $Kernel::OM->Get('Kernel::System::DynamicField::Backend');

my $Config = $DynamicFieldObject->DynamicFieldGet(
    Name => $NameOfYourField,
);

my $Success = $BackendObject->ValueSet(
	ObjectID 		   => $TicketID,
        UserID 			   => $UserID
        DynamicFieldConfig => $Config,
	Value              => $Value,
);
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
chris2k
Znuny newbie
Posts: 5
Joined: 25 Jun 2014, 12:48
Znuny Version: 5.0.13
Real Name: Christian

Re: Verarbeiten einer SOAP-Response

Post by chris2k »

Hallihallo,

vielen Dank für den Weg in die richtige Richtung. Habe es mit DynamicFieldValue recht gut hinbekommen.

Code: Select all

my $BackendObject = $Kernel::OM->Get('Kernel::System::DynamicFieldValue');
my $Success = $BackendObject->ValueSet(
        ObjectID  =>   $TicketInfo{TicketID},             # ID of the current object that the field
        FieldID => 20,
         Value => [
           {
               ValueText => $Param{Data}->{TicketID},
           },
],
                                                        # must be linked to, e. g. TicketID
        UserID             => 1,
    );
Locked