Владелец обновления OTRS

У меня проблемы с обновлением владельца, а также с обновлением билетов. Я использую мыло API в PHP.
Я использую OTRS 3.1.12.
Я пытался использовать следующее.

 $url      = "https://url/otrs/rpc.pl";  // URL for OTRS server
$username = "username";  // SOAP username set in sysconfig
$password = "password";  // SOAP password set in sysconfig

### Form Fields

$new_owner =$_POST['new_owner'];
$subject =$_POST['subject'];
$text = $_POST['text'];
$note_type = $_POST['note_type'];#### Initialize new client session ####
$client = new SoapClient(
null,
array(
'location'  => $url,
'uri'       => "Core",
'trace'     => 1,
'login'     => $username,
'password'  => $password,
'style'     => SOAP_RPC,
'use'       => SOAP_ENCODED
)
);

#### Create a new ticket shell. The function returns the Ticket ID ####
$TicketID = $client->__soapCall(
"Dispatch", array($username, $password,
"TicketObject", "TicketCreate",
"TicketID",       $ticket_id,
"OwnerID",      $new_owner,
"UserID",       1,
)
);

##### Create an article with the info. The function returns an Article ID ####
$ArticleID = $client->__soapCall("Dispatch",
array($username, $password,
"TicketObject",   "ArticleCreate",
"Subject",        $subject,
"ContentType",    "text/plain; charset=ISO-8859-1",
"Body",           $text,

)
);

Это совершенно неправильно, я знаю. Может кто-нибудь помочь ??

1

Решение

$URL = 'https://your-url.com/otrs/nph-genericinterface.pl/Webservice/WebserviceName'; //webserviceName is the name of webservice created from admin panel of otrs
$namespace = 'https://your-url.com/otrs/GenericInterface/actions'; //namespace of soap config

$username = "username"; //// SOAP username set in sysconfig
$password = "password"; //// SOAP password set in sysconfig

// initialize a SoapClient instance
$SOAPClientInstance = new \SoapClient(null, array(
'location'=> $URL,
'uri' => $namespace,
'trace' => 1,
'login' => $username,
'password'=> $password,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,

)
);// set the request parameters as an array of SoapParam instances
$TicketRequestArray = array(

new \SoapParam('username', 'UserLogin'), //user username
new \SoapParam('password', "Password"),// user password
);

$TicketRequestArray[] = new \SoapParam('123', 'TicketID');// ID of ticket which is to be updated
$TicketRequestArray[] = new \SoapParam(array(
'State' => 'open',
'OwnerID' => $new_owner, // you can add which parameters to update
), 'Ticket');
$Action = 'TicketUpdate';

$Response = $SOAPClientInstance->__soapCall($Action,
$TicketRequestArray
);

print "<pre>\n";
print "Request :\n".htmlspecialchars($SOAPClientInstance->__getLastRequest()) ."\n";
print "Response:\n".htmlspecialchars($SOAPClientInstance->__getLastResponse())."\n";
print "</pre>";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]