首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OTRS。更新票证

OTRS。更新票证
EN

Stack Overflow用户
提问于 2016-08-16 14:34:30
回答 1查看 1.3K关注 0票数 1

我在自定义门户中更新otrs票证时遇到问题。我正在通过Soap Api使用PHP。下面是我尝试过的一些方法。我创建了一个webservice服务。在OTRS中作为提供程序,网络传输,我添加了命名空间https://otrs.classic.com.np/otrs/GenericInterface/actions。<-这是正确的吗?我的php代码如下

代码语言:javascript
复制
$url      = "https://myurl.com/otrs/nph-genericinterface.pl";  // URL for OTRS server

            $namespace = "https://myurl.com/otrs/GenericInterface/actions";
            $username = "ctdeveloper";  // SOAP username set in sysconfig
            $password = "ctdeveloper";  // 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'       => $namespace,
                    'trace'     => 1,
                    'login'     => $username,
                    'password'  => $password,
                    'style'     => SOAP_RPC,
                    'use'       => SOAP_ENCODED
                )
            );

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 18:02:30

好吧,我找到了这个答案。希望对每个人都有帮助。首先在OTRS的管理中创建一个webservice

代码语言:javascript
复制
$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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38968050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档