1

I need to make SOAP requests from OTRS 3.3 to a WCF service I'm currently implementing when a ticket in OTRS is created, changed or deleted. I need it for sending emails containing information about the changed ticket. Therefore, it would be nice that this SOAP request contained full information about the ticket.

All I can find after googling is that OTRS has invokers mechanism that can be configured to call SOAP services when a desirable event is fired including ticket creation, changing or deleting.
But when I go to the Admin -> Web Services -> My service, there is no invokers in the Add Invoker dropdown under the OTRS as requestor section.

What should I do next in order to attach an invoker that makes SOAP request with information about changed ticket? Or latest OTRS version doesn't contain invokers out of the box and I have to implement it by myself using Perl programming language?

Alexander Abakumov
  • 13,617
  • 16
  • 88
  • 129
  • I also am trying to trigger a remote webservice call when a ticket is closed and pass data to our server. I have added a webservice but my "Add Invoker" drop select is blank as well. The documentation doesn't really explain clearly how to add invokers. Hopefully someone has some experience with this and help us figure it out. – Guest Aug 01 '14 at 22:46

1 Answers1

5

Basically what you need to do before having an invoker available is to activate it. You can do this from OTRS administration in the SysConfig section, in the left column you select GenericInterface and then a table is displayed where you select GenericInterface::Invoker::ModuleRegistration. There you can activate your available Invokers.

Then you probably run into another problem and that is how you register your custom invoker with OTRS so you can activate it. The simple "starter guide" could be described as follows:

  1. make a copy of Test.pm in /opt/otrs/Kernel/GenericInterface/Invoker/Test and name it MyPrettyInvoker.pm (let it reside in the same directory for now)
  2. change the package name in MyPrettyInvoker.pm to reflect the name of the Invoker
  3. add record for MyPrettyInvoker in /opt/otrs/kernel/Config/GenericInterface.xml which will register the new operation with OTRS; basically just copy/paste and adjust the record which is already present for the Test invoker which you initially copied
  4. now you can enable the operation in otrs Admin section (SysConfig > GenericInterface > GenericInterface::Invoker::ModuleRegistration)
  5. your new MyPrettyInvoker is now ready to be used from WebServices configuration screen
JanM
  • 1,385
  • 1
  • 15
  • 25
  • Thanks JanM for the simple "starter guide". That got me a bit further... but do you have any example code of custom invokers? I'm trying to get the Test.pm and TestSimple.pm to work but I'm seeing errors in the webservice debugger. http://stackoverflow.com/questions/25628871/otrs-webservice-as-requestor-test – Guest Sep 03 '14 at 20:12
  • Hh, I bet you posted the same question on OTRS developer forum right? Already answered it there :) Will repost it under your SO question too. But the problem is that I'm nearly in the same position as you... struggling with my requirements, the documentation of the system is well... not optimal to say the least :) – JanM Sep 04 '14 at 12:18
  • I tried the same upto step no 3. But I didn't get MyPrettyInvoker in ModuleRegitration in step 4. Also ```/opt/otrs/kernel/Config/GenericInterface.xml``` - this file doesn't exists on the path you mentioned, it is in ```\opt\otrs\Kernel\Config\Files\XML\GenericInterface.xml```. Any further help is highly appreciated? – kishor10d Jan 30 '20 at 06:04