BPEL 2.0 examples
gllambi May 13, 2008 7:00 PMHi, I've been trying to consume a bpel 2.0 process with jbpm and the following exception occurs. Any idea what's the problem?
19:08:26,045 ERROR [XPathEvaluator] cannot create node for non-element context n ode: [#document: null] 19:09:25,811 ERROR [[jsp]] Servlet.service() para servlet jsp lanz¾ excepci¾n javax.xml.ws.soap.SOAPFaultException: The service is not in an appropiate state for the requested operation at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.getSOAPFaultException(SO APFaultHelperJAXWS.java:69) at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.throwFaultExceptio n(SOAP11BindingJAXWS.java:109) at org.jboss.ws.core.CommonSOAPBinding.unbindResponseMessage(CommonSOAPB inding.java:553)
Here is the bpel process
<?xml version="1.0" encoding="UTF-8"?> <bpws:process exitOnStandardFault="yes" name="HelloProcess" suppressJoinFailure="yes" targetNamespace="http://eclipse.org/bpel/sample" xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:tns="http://eclipse.org/bpel/sample"> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="HelloProcess.wsdl" namespace="http://eclipse.org/bpel/sample"/> <bpws:partnerLinks> <bpws:partnerLink myRole="HelloProcessProvider" name="client" partnerLinkType="tns:HelloProcess"/> </bpws:partnerLinks> <bpws:variables> <bpws:variable messageType="tns:HelloProcessRequestMessage" name="input"/> <bpws:variable messageType="tns:HelloProcessResponseMessage" name="output"/> </bpws:variables> <bpws:sequence name="main"> <bpws:receive createInstance="yes" name="receiveInput" operation="process" partnerLink="client" portType="tns:HelloProcess" variable="input"/> <bpws:assign name="Assign" validate="no"> <bpws:copy> <bpws:from> <bpws:literal>Hello</bpws:literal> </bpws:from> <bpws:to part="payload" variable="output"> <bpws:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:result]]></bpws:query> </bpws:to> </bpws:copy> </bpws:assign> <bpws:reply name="replyOutput" operation="process" partnerLink="client" portType="tns:HelloProcess" variable="output"/> </bpws:sequence> </bpws:process>
And here is the wsdl of the process:
<?xml version="1.0"?> <definitions name="HelloProcess" targetNamespace="http://eclipse.org/bpel/sample" xmlns:tns="http://eclipse.org/bpel/sample" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns="http://schemas.xmlsoap.org/wsdl/" > <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TYPE DEFINITION - List of types participating in this BPEL process The BPEL Designer will generate default request and response types but you can define or import any XML Schema type and use them as part of the message types. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <types> <schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://eclipse.org/bpel/sample" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="HelloProcessRequest"> <complexType> <sequence> <element name="input" type="string"/> </sequence> </complexType> </element> <element name="HelloProcessResponse"> <complexType> <sequence> <element name="result" type="string"/> </sequence> </complexType> </element> </schema> </types> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MESSAGE TYPE DEFINITION - Definition of the message types used as part of the port type defintions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <message name="HelloProcessRequestMessage"> <part name="payload" element="tns:HelloProcessRequest"/> </message> <message name="HelloProcessResponseMessage"> <part name="payload" element="tns:HelloProcessResponse"/> </message> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PORT TYPE DEFINITION - A port type groups a set of operations into a logical service unit. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- portType implemented by the HelloProcess BPEL process --> <portType name="HelloProcess"> <operation name="process"> <input message="tns:HelloProcessRequestMessage" /> <output message="tns:HelloProcessResponseMessage"/> </operation> </portType> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PARTNER LINK TYPE DEFINITION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <plnk:partnerLinkType name="HelloProcess"> <plnk:role name="HelloProcessProvider" portType="tns:HelloProcess"/> </plnk:partnerLinkType> </definitions>
Thanks!
Guzman