0

OTRS ジェネリック インターフェイスを使用しようとしています。残りのサービスは、インポート機能によって作成されます。ここでインポートに必要なファイルを見つけました.NET アプリからの OTRS TicketConnector の消費

私の問題は、たとえばcurlコマンドでインターフェイスを使用しようとするときです

curl http://<user>:<password>@<server-ip>:<port>/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/<Ticket-id> -X GET

コマンドの結果は

{"Error":{"ErrorCode":"TicketGet.AuthFail","ErrorMessage":"TicketGet: Authorization failing!"}}

私にとって意味のあるすべてのユーザーとパスワードの組み合わせを試しました。otrs の管理者アカウント、エージェント アカウント、顧客アカウント、サーバーのルート アカウント、すべてを試しました。必要なアカウントの種類を記載したドキュメントの情報が見つかりません。

以下は、Web サービス デバッガーによって出力される情報です。

通信シーケンス開始

$VAR1 = {
  'DOCUMENT_ROOT' => '/srv/www/htdocs',
  'GATEWAY_INTERFACE' => 'CGI/1.1',
  'HTTP_ACCEPT' => '*/*',
  'HTTP_HOST' => '<server-name>',
  'HTTP_USER_AGENT' => 'curl/7.39.0',
  'MOD_PERL' => 'mod_perl/2.0.4',
  'MOD_PERL_API_VERSION' => '2',
  'PATH' => '/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin',
  'PATH_INFO' => '/Webservice/GenericTicketConnectorREST/Ticket/<ticket-id>',
  'PATH_TRANSLATED' => '/srv/www/htdocs/Webservice/GenericTicketConnectorREST/Ticket/<ticket-id>',
  'QUERY_STRING' => '',
  'REMOTE_ADDR' => '<server-ip>',
  'REMOTE_PORT' => '56065',
  'REQUEST_METHOD' => 'GET',
  'REQUEST_URI' => '/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/<ticket-id>',
  'SCRIPT_FILENAME' => '/opt/otrs/bin/cgi-bin/nph-genericinterface.pl',
  'SCRIPT_NAME' => '/otrs/nph-genericinterface.pl',
  'SERVER_ADDR' => '<server-ip>',
  'SERVER_ADMIN' => '<admin-account>',
  'SERVER_NAME' => '<server-name>',
  'SERVER_PORT' => '80',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'SERVER_SIGNATURE' => '<address>Apache/2.2.12 (Linux/SUSE) Server at <server-name> Port 80</address>
',
  'SERVER_SOFTWARE' => 'Apache/2.2.12 (Linux/SUSE)'
};

検知した操作 TicketGet

No data provided

マッピング前の受信データ

$VAR1 = {
  'RequestMethod' => 'GET',
  'TicketID' => '<ticket-id>'
};

TicketGet.AuthFail

TicketGet: Authorization failing!

マッピング前の送信データ

$VAR1 = {
  'Error' => {
    'ErrorCode' => 'TicketGet.AuthFail',
    'ErrorMessage' => 'TicketGet: Authorization failing!'
  }
};

簡単に言うと、どのタイプの認証またはユーザー タイプの otrs が一般的なインターフェイスにアクセスすることを期待していますか?

4

1 に答える 1

0

私の間違いを見つけました。ログイン資格情報をサービスに渡す方法が間違っていました。

私の場合、ユーザーはエージェント ユーザーです。

これは、私のサービスで動作する curl コマンドです。

curl http://<server-ip>:<port>/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/<ticket-id>?UserLogin=<username>\&Password=<password> -X GET
于 2015-06-23T13:13:07.037 に答える