首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BPEL和selectionFailure错误

BPEL和selectionFailure错误
EN

Stack Overflow用户
提问于 2011-12-25 09:54:14
回答 1查看 3.2K关注 0票数 4

我是新来的,我只是在测试一个如果-否则。我使用eclipse创建的bpel文件是:IfElseSample.bpel

它成功地部署,没有任何错误,但当我尝试使用简单的代码测试它时,如下所示:

代码语言:javascript
复制
   try {
        tps.bpel.ifelse.IfElseSample_Service service = new tps.bpel.ifelse.IfElseSample_Service();
        tps.bpel.ifelse.IfElseSample port = service.getIfElseSamplePort();
        tps.bpel.ifelse.IfElseSampleRequest payload = new tps.bpel.ifelse.IfElseSampleRequest();
        payload.setInput("John");
        tps.bpel.ifelse.IfElseSampleResponse result = port.process(payload); //Exception  occur here
        System.out.println("Result = "+result);
    } catch (Exception ex) {
        System.out.println("Exception=> "+ex);
    }

我发现了一个异常错误:

javax.xml.ws.soap.SOAPFaultException: axis2ns6575:选择失败

这里也是所有的我的月食计划。我用:

  1. apache-tomcat-7.0.23
  2. apache-ode-war-1.3.5
  3. 面向Web开发人员的Eclipse。版本: Indigo服务第1版

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-27 11:51:41

BPEL标准要求对变量进行初始化,然后才能对其执行XPath查询。在您的示例中,您要为未初始化的输出变量赋值。由于未初始化的变量为空,因此XPath表达式tns:result不会选择任何节点,从而引发selectionFailure。您需要首先初始化变量(例如,在<assign>活动开始时)。Eclipse BPEL设计器可以为您完成此任务(它通常会询问您是否要初始化变量)。代码应该大致如下所示:

代码语言:javascript
复制
<bpel:assign>
  <bpel:copy>
    <bpel:from>
      <bpel:literal>
        <payload><tns:result/></payload>
      </bpel:literal>
    </bpel:from>
    <bpel:to>$output.payload</bpel:to>
  </bpel:copy>
</bpel:assign>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8629088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档