1

有人知道 OTRS 的一个好的 Java 客户端吗,或者我可以指向一些信息页面来编写我自己的客户端吗?我对 OTRS 完全陌生,但我听说有一个外部接口(Web 服务)可以与 java REST 客户端一起完成大部分 OTRS 工作。

有人可以链接一些信息页面吗?也许是一个如何使用 OTRS 创建 REST WS 的示例以及一些 curl 示例如何使用它?

已经找到的链接:

  1. https://github.com/gtudan/OTRS-Client --> 维护级别低
  2. https://www.otrs.com/otrs-help-desk-software-unterstuetzt-jetzt-rest/?lang=de
  3. http://otrs.github.io/doc/manual/admin/stable/en/html/genericinterface.htmls
  4. ...

我用这个 yaml 文件创建了一个 web 服务:

---
Debugger:
  DebugThreshold: debug
  TestMode: '0'
Description: The description of WS
FrameworkVersion: 4.0.5
Provider:
  Operation:
    TicketGet:
      Description: ''
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Type: Simple
      Type: Ticket::TicketGet
  Transport:
    Config:
      KeepAlive: ''
      MaxLength: '20000000'
      RouteOperationMapping:
        TicketGet:
          Route: /Ticket/:TicketID
    Type: HTTP::REST
RemoteSystem: ''
Requester:
  Transport:
    Type: ''

然后我尝试卷曲到 WS:

curl -i -H "Content-Type: application/json" -d {UserLogin:"user",Password="userpass",Ticket={Title="test"}} http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Ticket/1

但它不起作用。

4

1 回答 1

5

首先,如何命名 Web 服务很重要。我选择“测试”。导入这个 yml 或者创建自己的 WS,导出 config yml 并将其更改为以下内容。保存更改并重新导入此文件。

---
Debugger:
  DebugThreshold: debug
  TestMode: '0'
Description: Is used by me
FrameworkVersion: 4.0.5
Provider:
  Operation:
    TicketGet:
      Description: ''
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Type: Simple
      Type: Ticket::TicketGet
    TicketUpdate:
      Description: ''
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Type: Simple
      Type: Ticket::TicketUpdate
  Transport:
    Config:
      KeepAlive: ''
      MaxLength: '20000000'
      RouteOperationMapping:
        TicketGet:
          Route: /TicketGet/:TicketID
        TicketUpdate:
          RequestMethod:
          - POST
          Route: /TicketUpdate/:TicketID
    Type: HTTP::REST
RemoteSystem: ''
Requester:
  Transport:
    Type: ''

然后检查带有ticketID 1 的ticket 是否存在一些示例标题,例如“first Title”。

然后使用这个卷曲:

curl -X POST -i -H "content-type: application/json" -d '{"UserLogin": "user", "Ticket": {"Title": "changeme"}, "Password": "userpass"}' "http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/TicketUpdate/1"

如果您将 WS 命名为“Test123xy”,则重命名 curl url

".../Webservice/Test/..." 

".../Webservice/Test123xy/..."

现在它对我有用。

于 2015-02-24T12:31:22.597 回答