我有以下简单的bpel过程:
<onEvent>
具有相关集(再次为order id),其与实例化的相匹配。问题是,在我回复onEvent后,ODE说消息交换中没有输出消息。这是onEvent代码(删除了分配):
<bpel:scope>
<bpel:eventHandlers>
<bpel:onEvent partnerLink="orderPlacementPL" operation="cancelOrder"
messageType="tns:cancelOrderReqMessage"
portType="tns:orderPlacementPT" variable="Input_CancelClientOrder"
messageExchange="CancelMex">
<bpel:correlations>
<bpel:correlation set="OrderId_CS" initiate="no"/>
</bpel:correlations>
<bpel:scope name="Cancel Event Scope">
<bpel:sequence>
<bpel:assign name="Initialize client reply message">....</bpel:assign>
<bpel:reply partnerLink="orderPlacementPL" operation="cancelOrder"
variable="Output_CancelClientOrder"
portType="tns:orderPlacementPT"
name="Send Reply for Cancel Operation"
messageExchange="CancelMex"/>
</bpel:sequence>
</bpel:scope>
</bpel:onEvent>
</bpel:eventHandlers>
<bpel:sequence name="Event Loop - wait 2 min">
<bpel:wait>
<bpel:for>'PT2M'</bpel:for>
</bpel:wait>
</bpel:sequence>
</bpel:scope>
堆栈跟踪是:
ERROR - Error processing response for MEX {MyRoleMex#hqejbhcnphr7dn78tn3hgb [Client hqejbhcnphr7dn78tn3hga] calling {http://orders}OrderPlacementService.cancelOrder(...)} {org.wso2.carbon.bpel.core.ode.integration.BPELProcessProxy}
java.lang.NullPointerException: Null message.
at org.wso2.carbon.bpel.core.ode.integration.utils.SOAPUtils.checkForNullValuesInResponse(SOAPUtils.java:397)
at org.wso2.carbon.bpel.core.ode.integration.utils.SOAPUtils.createSOAPResponse(SOAPUtils.java:70)
at org.wso2.carbon.bpel.core.ode.integration.BPELProcessProxy.onResponse(BPELProcessProxy.java:410)
at org.wso2.carbon.bpel.core.ode.integration.BPELProcessProxy.onAxisServiceInvoke(BPELProcessProxy.java:189)
at org.wso2.carbon.bpel.core.ode.integration.axis2.receivers.BPELMessageReceiver.handleInOutOperation(BPELMessageReceiver.java:100)
at org.wso2.carbon.bpel.core.ode.integration.axis2.receivers.BPELMessageReceiver.invokeBusinessLogic(BPELMessageReceiver.java:73)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:199)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.wso2.carbon.server.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:154)
at org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:254)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)