[JBoss jBPM] - Re: pooled actors not persisted
by dmitri.ilyin
i could localize the problem but i have no idea how to solve it.
We run JBoss 4.2.3 with JBPM3.2.3. We use EJB3 (JPA) for Entity Beans and JTA Transactions.
So, we have only one Hibernate configuration for hole Enterprise App. Hibernate session-factory is configured for JNDI and we use only this JNDI name for resolving the session factory for JPA "persistence-unit" and for "jBPM configuration". Here our jbpm config:
--------------
<jbpm-context>
</jbpm-context>
--------------
The need this contruction couse we must work with Entity Beans and JBPM in one transaction. We just start JTA transaction and make changes with Entities and JBPM manipulations within it.
It seems that in our configuration jBPM calls hibernate JPA implementation for persisting and JPA can not persisitence by reachability that follows that objects must be persisted explicitly. In case of pooled actors jBPM thinks they will be persisted automaticaly by hibernate but JPA don't do it.
Are there any tricks?
thanks a lot for any help.
Dmitri
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185664#4185664
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185664
16 years, 4 months
[JBoss jBPM] - Re: Problem running bpel process designed with eclipse bpel
by sw_bpel
ok, thank you for your help.
now i added an invoke-call for an external webservice. i add 2 assignments and one invoke node to the bpel-process. but when i want to test the process with soapUI i get also an error:
no port implements the required port type
my bpel-file:
| <?xml version="1.0" encoding="UTF-8"?>
| <bpws:process exitOnStandardFault="yes" name="SifedsBpelProcess"
| suppressJoinFailure="yes"
| targetNamespace="http://process.bpel.sifeds.de"
| xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
| xmlns:ns="http://process.bpel.sifeds.deArtifacts"
| xmlns:ns0="http://authentification.sifeds.de/"
| xmlns:tns="http://process.bpel.sifeds.de">
|
| <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
| location="SifedsBpelProcess.wsdl"
| namespace="http://process.bpel.sifeds.de" />
|
| <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
| location="SifedsBpelProcessArtifacts.wsdl"
| namespace="http://process.bpel.sifeds.deArtifacts" />
|
| <bpws:partnerLinks>
| <bpws:partnerLink myRole="SifedsBpelProcessProvider"
| name="client" partnerLinkType="tns:SifedsBpelProcessPLT" />
| <bpws:partnerLink name="auth" partnerLinkType="ns:authPLT"
| partnerRole="authRole" />
| </bpws:partnerLinks>
|
| <bpws:variables>
| <bpws:variable messageType="tns:SifedsBpelProcessRequestMessage"
| name="input" />
| <bpws:variable
| messageType="tns:SifedsBpelProcessResponseMessage" name="output" />
| <bpws:variable messageType="ns0:Sifedsauth_validateUserResponse"
| name="authResponse" />
| <bpws:variable messageType="ns0:Sifedsauth_validateUser"
| name="authRequest" />
| </bpws:variables>
|
| <bpws:sequence name="main">
| <bpws:receive createInstance="yes" name="receiveInput"
| operation="runBpelProcess" partnerLink="client"
| portType="tns:SifedsBpelProcessPT" variable="input" />
| <bpws:assign name="assignInput" validate="no">
| <bpws:copy>
| <bpws:from><![CDATA[$input.request/tns:procInputUserName]]></bpws:from>
| <bpws:to><![CDATA[$authRequest.validateUser/arg0]]></bpws:to>
| </bpws:copy>
| <bpws:copy>
| <bpws:from><![CDATA[$input.request/tns:procInputPassword]]></bpws:from>
| <bpws:to><![CDATA[$authRequest.validateUser/arg1]]></bpws:to>
| </bpws:copy>
| </bpws:assign>
| <bpws:invoke inputVariable="authRequest" name="invokeAuth"
| operation="validateUser" outputVariable="authResponse"
| partnerLink="auth" portType="ns0:Sifedsauth" />
| <bpws:assign name="assignOutput" validate="no">
| <bpws:copy>
| <bpws:from><![CDATA[$authResponse.validateUserResponse/return/id]]></bpws:from>
| <bpws:to><![CDATA[$output.response/tns:result/tns:procOutputID]]></bpws:to>
| </bpws:copy>
| <bpws:copy>
| <bpws:from><![CDATA[$authResponse.validateUserResponse/return/roleList]]></bpws:from>
| <bpws:to><![CDATA[$output.response/tns:result/tns:procOutputRoleList]]></bpws:to>
| </bpws:copy>
| <bpws:copy>
| <bpws:from><![CDATA[$authResponse.validateUserResponse/return/userName]]></bpws:from>
| <bpws:to><![CDATA[$output.response/tns:result/tns:procOutputUserName]]></bpws:to>
| </bpws:copy>
| </bpws:assign>
| <bpws:reply name="replyOutput" operation="runBpelProcess"
| partnerLink="client" portType="tns:SifedsBpelProcessPT"
| variable="output" />
| </bpws:sequence>
| </bpws:process>
|
my Artefact-wsdl:
| <?xml version="1.0" encoding="UTF-8" standalone="no"?>
| <definitions xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
| xmlns:tns="http://process.bpel.sifeds.deArtifacts"
| xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
| xmlns:wsdl="http://authentification.sifeds.de/"
| name="SifedsBpelProcessArtifacts"
| targetNamespace="http://process.bpel.sifeds.deArtifacts"
| xmlns="http://schemas.xmlsoap.org/wsdl/">
|
| <import
| location="http://testserver:8080/SifedsApplication-SifedsAuthentificationBean/Sifed..."
| namespace="http://authentification.sifeds.de/" />
|
| <plnk:partnerLinkType name="authPLT">
| <plnk:role name="authRole" portType="wsdl:Sifedsauth" />
| </plnk:partnerLinkType>
| </definitions>
|
and finally my process-wsdl:
| <?xml version="1.0"?>
| <definitions name="SifedsBpelProcess"
| targetNamespace="http://process.bpel.sifeds.de"
| xmlns:tns="http://process.bpel.sifeds.de"
| xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
| xmlns="http://schemas.xmlsoap.org/wsdl/">
|
| <types>
| <schema attributeFormDefault="unqualified"
| elementFormDefault="qualified"
| targetNamespace="http://process.bpel.sifeds.de"
| xmlns="http://www.w3.org/2001/XMLSchema">
|
| <element name="SifedsBpelProcessRequest"
| type="tns:SifedsBpelProcessRequest">
| </element>
|
| <element name="SifedsBpelProcessResponse">
| <complexType>
| <sequence>
| <element name="result"
| type="tns:SifedsProcessResponse" />
| </sequence>
| </complexType>
| </element>
|
| <complexType name="SifedsBpelProcessRequest">
| <sequence>
| <element name="procInputUserName" type="string"
| minOccurs="0" maxOccurs="1">
| </element>
| <element name="procInputPassword" type="string"
| minOccurs="0" maxOccurs="1">
| </element>
| </sequence>
| </complexType>
|
| <complexType name="SifedsProcessResponse">
| <sequence>
| <element name="procOutputID" type="string"
| minOccurs="0" maxOccurs="1">
| </element>
| <element name="procOutputRoleList" type="string"
| minOccurs="0" maxOccurs="unbounded">
| </element>
| <element name="procOutputUserName" type="string"
| minOccurs="0" maxOccurs="1">
| </element>
| </sequence>
| </complexType>
| </schema>
| </types>
|
| <message name="SifedsBpelProcessRequestMessage">
| <part name="request" element="tns:SifedsBpelProcessRequest" />
| </message>
| <message name="SifedsBpelProcessResponseMessage">
| <part name="response" element="tns:SifedsBpelProcessResponse" />
| </message>
|
| <portType name="SifedsBpelProcessPT">
| <operation name="runBpelProcess">
| <input message="tns:SifedsBpelProcessRequestMessage" />
| <output message="tns:SifedsBpelProcessResponseMessage" />
| </operation>
| </portType>
|
| <plnk:partnerLinkType name="SifedsBpelProcessPLT">
| <plnk:role name="SifedsBpelProcessProvider"
| portType="tns:SifedsBpelProcessPT" />
| </plnk:partnerLinkType>
|
| </definitions>
|
as i already said, i'm completely new to bpel and maybe it's a very simple or stupid failure, which i make here.
here is the log:
| 16:25:19,868 WARN [ProxyWarnLog] Narrowing proxy to class org.jbpm.bpel.graph.def.CompositeActivity - this operation breaks ==
| 16:25:19,899 ERROR [GraphElement] action threw exception: no port implements the required port type: portType={http://authentification.sifeds.de/}Sifedsauth
| org.jbpm.bpel.BpelException: no port implements the required port type: portType={http://authentification.sifeds.de/}Sifedsauth
| at org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:97)
| at org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:52)
| at org.jbpm.bpel.integration.jms.IntegrationControl.createCaller(IntegrationControl.java:261)
| at org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:162)
| at org.jbpm.bpel.integration.def.InvokeAction.execute(InvokeAction.java:75)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.def.Action_$$_javassist_114.execute(Action_$$_javassist_114.java)
| at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:259)
| at org.jbpm.graph.def.Node.execute(Node.java:335)
| at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:123)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:390)
| at org.jbpm.bpel.graph.def.Activity.proceed(Activity.java:241)
| at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:229)
| at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:47)
| at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:123)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:390)
| at org.jbpm.bpel.graph.def.Activity.proceed(Activity.java:241)
| at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:229)
| at org.jbpm.bpel.graph.basic.Receive.messageReceived(Receive.java:53)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.bpel.graph.basic.Receive_$$_javassist_80.messageReceived(Receive_$$_javassist_80.java)
| at org.jbpm.bpel.integration.def.ReceiveAction.deliverMessage(ReceiveAction.java:98)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.bpel.integration.def.ReceiveAction_$$_javassist_40.deliverMessage(ReceiveAction_$$_javassist_40.java)
| at org.jbpm.bpel.integration.jms.StartListener.deliverRequest(StartListener.java:219)
| at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:165)
| at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:697)
| at java.lang.Thread.run(Unknown Source)
| 16:25:19,899 ERROR [StartListener] request delivery failed due to non-recoverable exception, giving up
| org.jbpm.bpel.BpelException: no port implements the required port type: portType={http://authentification.sifeds.de/}Sifedsauth
| at org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:97)
| at org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:52)
| at org.jbpm.bpel.integration.jms.IntegrationControl.createCaller(IntegrationControl.java:261)
| at org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:162)
| at org.jbpm.bpel.integration.def.InvokeAction.execute(InvokeAction.java:75)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.def.Action_$$_javassist_114.execute(Action_$$_javassist_114.java)
| at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:259)
| at org.jbpm.graph.def.Node.execute(Node.java:335)
| at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:123)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:390)
| at org.jbpm.bpel.graph.def.Activity.proceed(Activity.java:241)
| at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:229)
| at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:47)
| at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:123)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:390)
| at org.jbpm.bpel.graph.def.Activity.proceed(Activity.java:241)
| at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:229)
| at org.jbpm.bpel.graph.basic.Receive.messageReceived(Receive.java:53)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.bpel.graph.basic.Receive_$$_javassist_80.messageReceived(Receive_$$_javassist_80.java)
| at org.jbpm.bpel.integration.def.ReceiveAction.deliverMessage(ReceiveAction.java:98)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.bpel.integration.def.ReceiveAction_$$_javassist_40.deliverMessage(ReceiveAction_$$_javassist_40.java)
| at org.jbpm.bpel.integration.jms.StartListener.deliverRequest(StartListener.java:219)
| at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:165)
| at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:697)
| at java.lang.Thread.run(Unknown Source)
|
thank you very much!!!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185460#4185460
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185460
16 years, 4 months
[JBoss jBPM] - Re: BPEL Review
by pruna
"alex.guizar(a)jboss.com" wrote : Sure, go ahead and ask here.
Ok, here we go! :)
I found the documentation for the BPEL module to be a little short.
There are a lot of "enterprise level" features, that I didn't fin info about, like integration with ESBs, process versioning, transaction support, security, clustering, human tasks, and event management.
About development environment, if I understood correctly, I should use the Eclipse BPEL project, because GPD is for jBPM's specific language (jPDL).
The other big group of things where I couldn't find info, was the project health itself (history, roadmap, release plan, features expected, etc).
I found a lot of info about the whole jBPM project, and jPDL, but not so much about the BPEL module itself, so any other info will be appreciated.
Lastly, does JBoss provide "commercial" support for this product?
Regards,
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185432#4185432
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185432
16 years, 4 months