發文作者:wekon | 五月 10, 2010

org.activebpel.rt.bpel.AeBusinessProcessException: Error building output message

[environment]

activebpel engine 2.1.1 + tomcat 5.5.27 + win 7

[steps]

1. use sequence to arrange process in bpel file
2. deploy process
3. send request to active bpel engine

[error message]

2010/5/10 上午 11:39:36 org.activebpel.rt.AeException logError
嚴重的: Error during invoke (BPEL RPC Handler).
org.activebpel.rt.bpel.AeBusinessProcessException: Error building output message

at org.activebpel.rt.axis.bpel.handlers.AeBpelRPCHandler.mapOutputData(AeBpelRPCHandler.java:275)
at org.activebpel.rt.axis.bpel.handlers.AeBpelHandler.invokeProcessEngine(AeBpelHandler.java:299)
at org.activebpel.rt.axis.bpel.handlers.AeBpelRPCHandler.invoke(AeBpelRPCHandler.java:136)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at org.activebpel.rt.axis.bpel.handlers.AeBpelRPCHandler.mapOutputData(AeBpelRPCHandler.java:227)
… 26 more

[analysis]

the type of <reply> message should be the same as the one of <receive>
but, the reply data directly comes from the latest <invkoe> in <sequence>
so, if the latest <invoke> doesn’t match <receive>, the engine crashes

[solution]

don’t use <sequence> in the situation described above; use <flow> instead
<links> in <flow> can be utilized to specify a link to start from the first <invoke> to <reply>


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

分類

%d 位部落客按了讚: