Description of problem: User can model process, which contains 'Service Task' element. But user can not specify interface , from which will be called operation. Version-Release number of selected component (if applicable): jbds-8.1.0.CR1_jbdsis-8.0.1.CR1 BPMN2 Modeler 1.1.2.Final How reproducible: 1. Create process containing Service Task 2. See properties - 'Service Task' tab 3. There should be Interface combo
In BPMN2 Service Tasks only have references to an Operation; Operations are owned by an Interface, so it is not necessary to specify an Interface in the Service Task. Interfaces are managed from the Process "Interfaces" property tab.
Bob, you are completely right with your claim. Error is on my site. I should have been a little bit more specific. Follow these steps to see, where I found the problem. (1) Create process with 3 nodes: Start -> ServiceTask -> End (2) Do NOT import any interface via process properties (3) Double click on ServiceTask (4) Select tab 'Service Task' (5) Click on plus button next to Operation combo *Here is the problem* (6) In shown pop-up, user can fill only data specific for operation-method. User can't specify what interface is method from. (7) If user save process, there is error like: "The implementation for Interface Interface 1 must be a valid Java Type"
Interfaces can only be be created and edited in the Process -> Interfaces property tab. I think to make this less confusing we should remove the "+" button from the Service Task Operation combo box. WDYT?
I have decided to enhance the Operation editing dialog so that the Interface name and implementation can also be edited. So, when the user creates a new Operation for the first time (no Interface definitions exist yet) he is given the chance to also edit the Interface name and implementation. Please retest with build 1.1.4.201506261732
Created attachment 1044919 [details] request/response mapping details
Bob, fix looks good. But one last detail. Properties of 'Service Task' has 3 tabs (General, Service Task and I/O Parameters). On Service Task tab is user able to set mapping of Request/Response Message to process variables. When user saves process, this mapping is shown in detail on tab I/O Parameters. Here is the issue. If user select operation of previously imported interface, then Request/Response Message mapping results to good.png from the attachment 1044919 [details]. If user specify operation details manually, then Request/Response Message mapping results to wrong.png from the attachment 1044919 [details]. Names 'Parameter' and 'Result' are critical for process execution by engine. Is there some special reason, why in the second case are names 'input1' and 'output2'?
Yes, "input1" and "output2" are arbitrary names generated by the editor - is there some special reason why these names need to be "Parameter" and "Result"? Never mind - I already know the answer ;) This has already been reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1188592