Petals-SE-Activiti 1.0.3+

Version 1 by Christophe DENEUX
on Sep 26, 2016 14:57.

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (7)

View Page History
<groupId>org.ow2.petals.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.18.0-PETALS-0</version> <version>5.22.0-PETALS-0</version>
<scope>test</scope>
</dependency>
{code}

If your process definition includes Petals service invocations, you must use mock for these services. For this first version of the Petals SE Activiti, nothing is available to create these mocks and you will get the following stack trace in log about the service invocation:
If your process definition includes Petals service invocations, you must use mock for these services. These mock can be SoapUI mock services invoked as standard web-services, using HTTP/SOAP. The URLs of these mock services must be mapped on the endpoint names define in service provider WSDLs used in the process definition. The mapping is declared in the Spring configuration file as following:
{code}
22 mai 2015 17:15:31 org.activiti.engine.impl.webservice.WSOperation safeSend
ATTENTION: Error calling WS http://petals.ow2.org/samples/se-bpmn/notifyVacationService:notifyVacationService
java.lang.RuntimeException: Could not find conduit initiator for address: petals:///{http://petals.ow2.org/samples/se-bpmn/notifyVacationService}notifyVacation and transport: http://schemas.xmlsoap.org/soap/http
at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:225)
at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:234)
at org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:103)
at org.apache.cxf.endpoint.UpfrontConduitSelector.prepare(UpfrontConduitSelector.java:63)
at org.apache.cxf.endpoint.ClientImpl.prepareConduitSelector(ClientImpl.java:896)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:341)
at org.activiti.engine.impl.webservice.CxfWebServiceClient.send(CxfWebServiceClient.java:38)
at org.activiti.engine.impl.webservice.WSOperation.safeSend(WSOperation.java:74)
at org.activiti.engine.impl.webservice.WSOperation.sendFor(WSOperation.java:62)
at org.activiti.engine.impl.bpmn.webservice.Operation.sendMessage(Operation.java:50)
at org.activiti.engine.impl.bpmn.behavior.WebServiceActivityBehavior.execute(WebServiceActivityBehavior.java:75)
at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:60)
<bean id="archiveEndpoint" class="javax.xml.namespace.QName">
<constructor-arg index="0" value="http://petals.ow2.org/samples/se-bpmn/archiveService" />
<constructor-arg index="1" value="autogenerate" />
</bean>

<bean id="notifyEndpoint" class="javax.xml.namespace.QName">
<constructor-arg index="0" value="http://petals.ow2.org/samples/se-bpmn/notifyVacationService" />
<constructor-arg index="1" value="autogenerate" />
</bean>

<bean id="wsOverridenEndpointAddresses" class="java.util.concurrent.ConcurrentHashMap">
<constructor-arg index="0">
... <map>
<entry>
<key>
<ref bean="archiveEndpoint" />
</key>
<value type="java.net.URL">http://localhost:8188/mockarchiveSoapBinding</value>
</entry>
<entry>
<key>
<ref bean="notifyEndpoint" />
</key>
<value type="java.net.URL">http://localhost:8188/mocknotifyVacationBinding</value>
</entry>
</map>
</constructor-arg>
</bean>

<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
...
<property name="wsOverridenEndpointAddresses">
<ref bean="wsOverridenEndpointAddresses" />
</property>
</bean>
{code}