Alex, Thanks for the reply. I tried defining the variable in the enclosing scope and then referencing it in the faultHandler by faultVariable, but I ran into a dilemma. If I try to deploy the definition with the faultVariable specified in the faultHandler, I am getting the following exception:
| 10:05:41,967 ERROR [[DeployServlet]] Servlet.service() for servlet DeployServlet threw exception | org.jbpm.jpdl.JpdlException: [[ERROR] jbpmbpel.bpel catch must specify either a faultMessageType or a faultElement [/process/faultHandlers/catch]] | at org.jbpm.jpdl.par.ProcessArchive.parseProcessDefinition(ProcessArchive.java:84) | at org.jbpm.bpel.web.deploy.DeployServlet.doGet(DeployServlet.java:49) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) | at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) | at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) | at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) | at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) | at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) | at java.lang.Thread.run(Thread.java:595) | Then I added 'faultElement' in the 'catch', I am getting the following exception: | 09:28:51,999 ERROR [[DeployServlet]] Servlet.service() for servlet DeployServlet threw exception | org.jbpm.jpdl.JpdlException: [[ERROR] jbpmbpel.bpel(36) cvc-complex-type.3.2.2: Attribute 'faultElement' is not allowed to appear in element 'catch'.] | at org.jbpm.jpdl.par.ProcessArchive.parseProcessDefinition(ProcessArchive.java:84) | at org.jbpm.bpel.web.deploy.DeployServlet.doGet(DeployServlet.java:49) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) | at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) | at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) | at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) | at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) | at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) | at java.lang.Thread.run(Thread.java:595) | Below is my code: | <?xml version="1.0" encoding="UTF-8"?> | <process name="jbpmbpelFrontEnd" targetNamespace="com:vizuri:bpel:jbpmbpel" | xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" | xmlns:tns="com:vizuri:bpel:jbpmbpel" xmlns:jbpmbpel="com:vizuri:bpel:jbpmbpel" xmlns:typ="com:vizuri:bpel:types" | xmlns:svc="http://webservice.vizuri.com/jaws" xmlns:svc2="http://webservice.vizuri.com/jaws" | xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/ | http://schemas.xmlsoap.org/ws/2003/03/business-process/"> | | <variables> | <variable name="operationFlt" messageType="jbpmbpel:operationFault" /> | <variable name="svcFlt" element="svc:JSR181WebServiceException" /> | </variables> | <faultHandlers> | <catch faultName="svc:JSR181WebServiceException" faultVariable="svcFlt"> | <sequence> | <assign name="copyStep2Fault"> | <copy> | <from variable="svcFlt" query="/JSR181WebServiceException/svc:code"/> | <to variable="operationFlt" part="detail"/> | </copy> | </assign> | <reply operation="connect2" partnerLink="jbpmbpelRelation" portType="jbpmbpel:jbpmbpelFrontEnd" | variable="operationFlt" faultName="jbpmbpel:step2Fault" /> | </sequence> | </catch> | </faultHandlers> | </process> | I understand that adding 'faultElement' in catch causes problem because bpel 1.1 schema doesn't allow it, but why do I get the first exception when I don't have faultElement or faultMessageType in catch? Jiehuan View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3958474#3958474 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3958474 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
