WSO2 BPS创建BPEL人工任务抛出411错误:需要长度

时间:2016-11-27 22:47:49

标签: wso2 bpel wso2bps

让BPEL流程创建人工任务,创建RemoteTask会引发以下异常(请注意,BPEL流程运行正常,直到人工任务,我可以创建调用其WS端点的人工任务)):

Error sending message to Axis2 for ODE mex 
{PartnerRoleMex#hqejbhcnphrbsqc3x2nneo [PID {http://b2bg2.imtech.realdolmen.com/bps/sample}HumanTaskTest-17] calling org.apache.ode.bpel.epr.WSAEndpoint@4e72a575.ErrorHandling(...) Status REQUEST}
org.apache.axis2.AxisFault: Transport error: 411 Error: Length Required
            at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:331)
            at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:196)
            at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451)
            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278)
            at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
            at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
            at org.wso2.carbon.bpel.core.ode.integration.utils.AxisServiceUtils.invokeService(AxisServiceUtils.java:316)
            at org.wso2.carbon.bpel.core.ode.integration.PartnerService.invoke(PartnerService.java:324)
            at org.wso2.carbon.bpel.core.ode.integration.BPELMessageExchangeContextImpl.invokePartner(BPELMessageExchangeContextImpl.java:43)
            at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:897)
            at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:130)
            at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
            at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
            at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:1002)
            at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:208)
            at org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:283)
            at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:224)
            at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279)
            at org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:434)
            at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob

(BpelEngineImpl.java:558)
        at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:467)
        at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:633)
        at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:627)
        at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:298)
        at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:253)
        at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:627)
        at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:611)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

对我来说,当在BPEL流程和HT实现之间内部调用Web服务时,看起来Content-Length标头既不存在“chunked”

1 个答案:

答案 0 :(得分:0)

显然,HT(人工任务)的WSDL必须在服务声明中具有有效的服务端点地址。 Eclipse创建的默认WSDL(WSO2 DEV)的端点设置为www.example.org。

我假设使用了内部传输(因为它在进程之间),但显然它不是真的:(