Cannot register link to offline partner
by Holger Machens
Hello,
I'm playing around with the trip BPEL example.
I'm actually trying to involve a partner in the workflow who does not
support the online retrieval of it's WSDL (e.g. by using a URL like this
http://my.base.url/service?wsdl).
Both, the partner registration Ant Task and the jBPM BPEL Console demand
two parameters:
1. base url (mandatory)
2. description file (optional)
According to the examples the base url is used to specify an URL for
online retrieval of the WSDL (as mentioned above). The description file
is an optional parameter to specify a locally available WSDL file.
To register the offline partner I defined base url (because it's
mandatory) and description file but the RegisterServlet throws an
exception stating that the WSDL is of content type "application/xml"
instead of "text/xml".
After downloading sources for jbpm-bpel 1.2 and removing the content
type check (temporary) I noticed that the servlet still tries to access
the base url when opening the Partner Services page in the jBPM BPEL
Console. The error message is: Unable to resolve imported document at
'http://my.base.url/service?wsdl'. And when accessing the partner link
from within the workflow I get a BpelException mentioning that no port
implements the required portType.
After a while, a noticed what's going wrong: You can't use import
statements in the WSDL file, because the engine tries to resolve them at
the location of the base url. Just incorporate all files into one file -
then it works.
BTW: Do you provide an undeploy task or an unregister task as
counterparts of register and deployment tasks anywhere?
Any comments welcome!
Regards
Holger
14 years, 11 months
[jBPM Users] - Re: Process Step Exception
by guancio
I got the same exception using jbpm 3.2 on JBoss 5. After 4 hours of investigation I've found that my development approach was not correct.
The main cause of the problem was that I was trying to use the JBPM enterprise installation from a Web Application deployed on the same JBoss container. My first attempt was to add the jbpm-identity and jbpm-jpdl jars as J2EE module dependencies and deploy them inside WEB-INF/lib of my War.
Initially, this step was required to avoid class not found exception while accessing to the jbpm structures.
I think that the java.lang.ClassCastException occurred because the interface of org.jbpm.msg.jms.JmsMessageServiceFactory is not present inside jbpm-identity and jbpm-jpdl jars. Instead the interface is located inside the jbpm-enterprise.jar directory.
Namely, I think that Java run-time raises the exception because jbpm-enterprise.jar is loaded by a different Java class loader.
I solved my problem as follows:
| I removed jbpm-* jars from my WEB-INF/lib deployment
| I deployed the war of my application inside deploy/jbpm directory of JBoss, instead of deploy. This avoid the class not found exceptions
| I added the web.xml and jboss-web.xml deployment descriptors inside my WEB-INF directory, using the contents described in http://docs.jboss.com/jbpm/v3.2/userguide/html_single/#clientcomponents. This avoid jms name not bound exceptions.
|
|
| I think that JBoss documentation on how to use jbpm from Web and enterprise applications really lacks details and a good tutorial.
|
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4270272#4270272
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4270272
14 years, 11 months