[midPoint] Event driven notification with RESTful service

Radovan Semancik radovan.semancik at evolveum.com
Thu Jul 14 16:59:34 CEST 2016


Hi,

On 07/12/2016 01:38 PM, Болат Казыбаев wrote:
> First of all, thank you midPoint development team, for a major update 
> of midPoint. It looks amazing!

Thanks for your kind words.

> I read about IDM Model web-service interface on wiki page 
> https://wiki.evolveum.com/display/midPoint/IDM+Model+Web+Service+Interface, 
> but it seems 
> https://github.com/Evolveum/midpoint/blob/v3.4/infra/schema/src/main/resources/xml/ns/public/model/model-3.wsdl 
> wsdl is broken, because I cannot generate client with SOAPUI. So my 
> questions are:
>
> 1.Where I can get valid wsdl file in order to generate web-service 
> client with SOAPUI?
>

Short answer: look into the schema/ folder in midpoint distribution 
archive (midpoint-3.4.tar.gz). There are WSDL and XSD files with 
relative paths that are designed especially to be used with SoapUI and 
similar tools.

The long answer: it is all a bit complicated. The WSDL files in the 
midpoint source code is tuned to satisfy the JAXWS/JAXB compilation 
plugins and runtime and it required a lot of tweaking and hacking. This 
made them difficult to use in other projects. The WSDL/XSD generated at 
runtime also has some issues that are not always easy to solve. So some 
time ago my patience run out and I have created a maven plugin which is 
converting the files to a plain clean and nice relative paths. And this 
is included in the midpoint distribution.

> 2.Is it possible to implement event driven notification service in 
> midPoint?
>

I'm not entirely sure that I understand what you need. If you want 
midpoint to call a third-party web service when something is changed 
then it is certainly possible. But not necessarily easy. It will require 
some coding. One way is to use scripting hooks 
(https://wiki.evolveum.com/display/midPoint/Scripting+Hooks). Scripting 
hooks are called on every change in midPoint and you can use Groovy (or 
Python or JS code) to invoke the web service. You can also use similar 
approach with pure java hooks that you can register into midPoint code. 
But that requires custom build and the scripting hooks may be easier to 
use for you.

> 3.What is a purpose of services section in GUI?
>
> 4.How to create a service, 
> http://localhost:8080/midpoint/wicket/bookmarkable/com.evolveum.midpoint.web.page.admin.services.PageService?4 
> , is there any example?
>

This seems to be a common question :-) The short answer is that these 
are supposed to represent servers, mobile devices, printers, virtual 
machines, "things" (as in IoT) and other 
not-entirely-user-or-role-or-org objects. The long answer will come 
shortly when Katka will find the time to write the documentation ...

-- 
Radovan Semancik
Software Architect
evolveum.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20160714/d75ac4af/attachment.htm>


More information about the midPoint mailing list