问题
I have to integrate Orbeon Xforms with Activiti workflow engine.
Has anybody done this in the past?
How to initiate the Activiti workflow from the Orbeon forms?
I have checked on internet but nobody seems to have integrated the call from Orbeon Xforms to Activiti to start the process instance. The Orbeon XForms has provided REST API but its only supported for XML message and there is no support for JSON parameters.
回答1:
I'm not aware of any publically available integration between Orbeon Forms and Activiti. However, as you noticed, Orbeon Forms can submit the data entered by users in forms as XML to an endpoint you provide, which can be the basis of an integration with Activiti.
And you're correct, at this point Orbeon Forms is only able to send data as XML, and there is an RFE for sending data as JSON. But I would assume using XML wouldn't be a problem for Activiti.
回答2:
An orbeon integration with Activiti is possible. Look at this post here: http://forums.activiti.org/content/orbeon-xform-integration-activiti-workflow
It is right that Activiti only supports JSON. But with a custom formHandler, you could receive the XML posted by orbeon, parse the process variables, start a process inatance and write the updated variables back to the Activiti database. I just did a prototypical proof of concept about this. In this servlet, you can use the Java APIs of Activiti.
You could realize it like this: 1. Display an orbeon form which has fields for the initial process values 2. Submit those values to a custom servlet 3. The servlet parses the orbeon xml form data and extracts the typed in values 4. Use the Activiti Java API wihtin your servlet to start a process instance with the values extracted from the orboen xml 5. If the instance was started correctly, send a HTTPStatusCode 200 back to orbeon. 6. Close the orbeon form.
Best regards Ben
来源:https://stackoverflow.com/questions/30398717/activiti-workflow-and-orbeon-xform-integration