ich bin gerade Dabei unser aktuelles Ticketsystem auf OTRS umzustellen. Hierbei nutze ich die SOAP Schnittstelle von OTRS.
Leider habe ich keine Möglichkeit gefunden, die Dynamischen Felder automatisch zu befüllen. Mein Code mittels PHP zum testen sieht aktuell so aus.
Code: Select all
#Soap verbindung aufbauen
$client = new SoapClient(null, array('location' => $url,
'uri' => "Core",
'trace' => 1,
'login' => $user,
'password' => $pwd,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED));
$TicketID = $client->__soapCall("Dispatch", array($user, $pwd,
"TicketObject", "TicketCreate",
"ID", "74",
"TN", "9901",
"Title", "Testticketid",
"Queue", "Postmaster",
"Lock", "unlock",
"PriorityID", 2,
"State", "new",
"CustomerUser", "root@localhost",
"OwnerID", 1,
"UserID", 1,
));
echo "TicketID: $TicketID \n";
echo "<br>\n";
#Ticketnummer Rückgeben lassen
$ticketnr = $client->__soapCall("Dispatch", array($user, $pwd,
"TicketObject", "TicketNumberLookup",
"TicketID", $TicketID,
));
#Artikel einfügen funktioniert in dieser art
$from = "l.pollok@test.local";
$to = "l.pollok@test.local";
$message = "Dies ist ein Test Artikel Test text";
$subject = "Test Betreff 2";
$articleid = $client->__soapCall("Dispatch", array($user, $pwd,
"TicketObject", "ArticleSend",
"TicketID" , $TicketID,
"ArticleType" , "email-external",
"SenderType" , "agent",
"From" , $from,
"To" , $to,
"ReplyTo" , "",
"Subject" , "[ Ticket#: ".$ticketnr." ] ".$subject,
"Body" , $message,
"ContentType" , "text/html; charset=utf-8",
"Charset" , "utf-8",
"HistoryType" , "EmailCustomer",
"HistoryComment" , "generated by OTRSInterface-Class",
"UserID" , 1,
"NoAgentNotify" , 1,
"MimeType" , "text/plain",
"Loop" , 0,
));
#Dynamic Field befüllen
$dynamicfield = $client->__soapCall("Dispatch", array($user, $pwd,
"TicketObject", "DynamicFields",
"TicketID" , $TicketID,
"Name", "Termin",
"Value", "01.07.2012",
));
Code: Select all
[Thu Jan 10 10:49:03 2013] [error] [client 192.168.4.112] PHP Fatal error: Uncaught SoapFault exception: [soap:Server] Can't locate object method "DynamicFields" via package "Kernel::System::Ticket" at /opt/otrs/bin/cgi-bin/rpc.pl line 123.\n in /var/www/import/soap_art.php:85\nStack trace:\n#0 /var/www/import/soap_art.php(85): SoapClient->__soapCall('Dispatch', Array)\n#1 {main}\n thrown in /var/www/import/soap_art.php on line 85
Menüpunkt: Kernel::GenericInterface::Operation::Ticket::TicketCreate
DynamicField => [ # optional
{
Name => 'some name',
Value => $Value, # value type depends on the dynamic field
},
Was genau läuft hier falsch.
OTRS Version 3.1.12