arrrrg - found the mistake (of course one minute after my post). Here is the correct code:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions id="ServiceTaskJava"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 BPMN20.xsd"
xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0" typeLanguage="http://www.w3.org/2001/XMLSchema"
expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://sample.bpmn.camunda.com/"
xmlns:jbpm="http://jbpm.org/4.0/bpmn2">
<bpmn:itemDefinition id="i1">
<jbpm:arg>
<jbpm:object expr="#{instanceId}" />
</jbpm:arg>
</bpmn:itemDefinition>
<bpmn:itemDefinition id="i2">
<jbpm:var name="v1" />
</bpmn:itemDefinition>
<bpmn:message id="im" name="input message"
structureRef="i1"></bpmn:message>
<bpmn:message id="om" name="output message"
structureRef="i2">
</bpmn:message>
<bpmn:interface id="if1" name="mocks.Mock01">
<bpmn:operation id="o1" name="call">
<bpmn:inMessageRef>im</bpmn:inMessageRef>
<bpmn:outMessageRef>om</bpmn:outMessageRef>
</bpmn:operation>
</bpmn:interface>
<bpmn:receiveTask id="r2" name="r2" />
<bpmn:sequenceFlow id="f4" name="r2_2_e1" sourceRef="r2" targetRef="e1" />
<bpmn:endEvent id="e1" name="e1" />
</bpmn:process>
</bpmn:definitions>
The problem was the in and out message ref.
Best regards - claus