【问题标题】:Calling a WCF service from OTRS when a ticket is changed更改票证时从 OTRS 调用 WCF 服务
【发布时间】:2016-01-05 00:58:14
【问题描述】:

当在 OTRS 中创建、更改或删除票证时,我需要从 OTRS 3.3 向我当前正在实施的 WCF 服务发出 SOAP 请求。我需要它来发送包含更改票证信息的电子邮件。因此,如果这个 SOAP 请求包含有关票证的完整信息,那就太好了。

我在谷歌上搜索后只能找到 OTRS 具有调用机制,可以将其配置为在触发所需事件(包括创建、更改或删除票证)时调用 SOAP 服务。
但是当我转到 Admin -> Web Services -> My service 时,Add Invoker 中没有调用程序strong> OTRS 作为请求者 部分下的下拉菜单。

接下来我应该怎么做才能附加一个发出 SOAP 请求的调用程序,其中包含有关已更改票证的信息?或者最新的 OTRS 版本不包含开箱即用的调用程序,我必须使用 Perl 编程语言自己实现它?

【问题讨论】:

  • 我还试图在工单关闭时触发远程 Web 服务调用并将数据传递到我们的服务器。我添加了一个网络服务,但我的“添加调用者”下拉选择也是空白的。该文档并没有真正清楚地解释如何添加调用程序。希望有人对此有一些经验并帮助我们弄清楚。

标签: .net perl web-services wcf otrs


【解决方案1】:

基本上,在调用程序可用之前您需要做的是激活它。您可以在 SysConfig 部分的 OTRS 管理中执行此操作,在左侧列中选择 GenericInterface,然后在选择 GenericInterface::Invoker::ModuleRegistration 的位置显示一个表格。在那里你可以激活你可用的调用者。

那么您可能会遇到另一个问题,那就是您如何向 OTRS 注册自定义调用程序以便激活它。简单的“入门指南”可以描述如下:

  1. /opt/otrs/Kernel/GenericInterface/Invoker/Test 中复制Test.pm 并将其命名为MyPrettyInvoker.pm(现在让它驻留在同一目录中)
  2. 更改 MyPrettyInvoker.pm 中的包名称以反映 Invoker 的名称
  3. /opt/otrs/kernel/Config/GenericInterface.xml 中为 MyPrettyInvoker 添加记录,这将向 OTRS 注册新操作;基本上只是复制/粘贴并调整您最初复制的测试调用程序已经存在的记录
  4. 现在您可以在 otrs Admin 部分启用该操作(SysConfig > GenericInterface > GenericInterface::Invoker::ModuleRegistration)
  5. 您的新 MyPrettyInvoker 现在可以从 WebServices 配置屏幕中使用了

【讨论】:

  • 感谢 JanM 提供简单的“入门指南”。这让我更进一步......但是你有自定义调用程序的示例代码吗?我正在尝试让 Test.pm 和 TestSimple.pm 工作,但我在 web 服务调试器中看到错误。 stackoverflow.com/questions/25628871/…
  • 嗯,我敢打赌你在 OTRS 开发者论坛上发布了同样的问题,对吧?已经在那里回答了:) 也会在你的 SO 问题下重新发布。但问题是我几乎和你处于同样的位置......努力满足我的要求,系统的文档很好......至少可以说不是最佳的:)
  • 我在第 3 步之前尝试了相同的操作。但在第 4 步中我没有在 ModuleRegitration 中获得 MyPrettyInvoker。还有/opt/otrs/kernel/Config/GenericInterface.xml - 您提到的路径上不存在此文件,它位于\opt\otrs\Kernel\Config\Files\XML\GenericInterface.xml。任何进一步的帮助都非常感谢?
猜你喜欢
  • 2020-06-02
  • 2013-07-09
  • 2010-12-11
  • 2011-11-22
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多