2012-03-30 33 views
1

我試圖通過使用分配動作推B​​PEL變量LVSProxyPLResponse到BPEL過程的輸出變量的調用響應值分配給一個BPEL過程的輸出變量如圖代碼如何WSO2

 <bpel:copy> 
     <bpel:from> 
    <bpel:literal xml:space="preserve"><tns:LVMathProxyResponse xmlns:tns="http://lvmathproxy.bpel.bps" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<tns:Mathresult></tns:Mathresult> 
</tns:LVMathProxyResponse> 
</bpel:literal> 
      </bpel:from> 
      <bpel:to variable="output" part="payload"></bpel:to> 
     </bpel:copy> 
     <bpel:copy> 
      <bpel:from part="payload" variable="LVSProxyPLResponse"> 
       <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"> 
        <![CDATA[result]]> 
       </bpel:query> 
      </bpel:from> 
      <bpel:to part="payload" variable="output"> 
       <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"> 
        <![CDATA[tns:Mathresult]]> 
       </bpel:query> 
      </bpel:to> 
     </bpel:copy>    
    </bpel:assign> 

對ESB的REST代理Web服務正在我的BPEL過程中,通過調用操作調用和我可以確認的是,當我讀了BPS輸出變量LVSProxyPLResponse。

輸出變量具有一個複雜類型元件如圖代碼下面

<element name="LVMathProxyResponse"> <complexType> <sequence> <element name="Mathresult" type="tns:LVMathType"></element> </sequence> </complexType> </element>

出於某種原因,我不能得到的值推到輸出變量作爲我得到以下錯誤。

[2012-03-29 20:27:39,380] INFO - AxisService - The system is attempting to engage a module that is already engaged: ServerAdminModule 
[2012-03-29 20:27:39,511] ERROR - BpelEngineImpl - Scheduled job failed; jobDetail=JobDetails(instanceId: null mexId: hqejbhcnphr75sbpnvnci6 processId: {http://lvmathproxy.bpel.bps}LVMathProxy-58 type: INVOKE_INTERNAL channel: null correlatorId: null correlationKeySet: null retryCount: null inMem: false detailsExt: {enqueue=false}) 
java.lang.IllegalArgumentException: null parent 
     at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:776) 
     at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:771) 
     at org.apache.ode.bpel.runtime.ASSIGN.evalQuery(ASSIGN.java:658) 
     at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:207) 
     at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:386) 
     at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:89) 
     at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     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:879) 
     at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:205) 
     at org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:309) 
     at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:250) 
     at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:305) 
     at org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:458) 
     at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:553) 
     at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:445) 
     at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:537) 
     at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:531) 
     at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:284) 
     at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239) 
     at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:531) 
     at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:515) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
     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) 

我在想什麼或做錯了什麼?

我也是收到以下錯誤

2012-03-30 20:21:09,062] ERROR - BPELProcessProxy - Timeout or execution error  when waiting for response to MEX {MyRoleMex#hqejbhcnphr75w46k8n8wm [Client hqejbhcnphr75w46k8n8wl] calling {http://lvmathprocess.bpel.bps}LVMService.process(...)} java.util.concurrent.TimeoutException: Message exchange  org.[email protected]1d1339b timed out(120000 ms) when waiting for a response! 
    java.util.concurrent.TimeoutException: Message exchange org.[email protected]1d1339b timed out(120000 ms) when waiting for a response! at org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture.get(MyRoleMessageExchangeImpl.java:250) 

我看不到過程的任何實例,當我在BPS 2.1.0版本上運行。但是我可以在版本2.1.2上看到實例,並可以查看相關變量,但在使用此服務時仍然會出現上述錯誤。

回答

0

只是好奇 - 你的輸出內容是一個XSD?如果我是對的,它應該是XML格式。