0

我在 wso2 BPS 中创建了一个服务。现在,当我测试我的服务时,我遇到了一个问题。那就是我的请求有效负载是这样的:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:roms="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <roms:CreateSceduler>
         <roms:SampleID>?</roms:SampleID>
         <!--Optional:-->
         <roms:ScheduleID>?</roms:ScheduleID>
         <roms:PersonID>?</roms:PersonID>
         <!--Optional:-->
         <roms:PersonName>?</roms:PersonName>
         <roms:Location>?</roms:Location>
         <roms:CreatedDateUTC>?</roms:CreatedDateUTC>
         <!--Optional:-->
         <roms:RecordDateTimeUTC>?</roms:RecordDateTimeUTC>
         <!--Optional:-->
         <roms:RecordedBy>?</roms:RecordedBy>
         <!--Optional:-->
         <roms:RecordedAt>?</roms:RecordedAt>
         <!--Optional:-->
         <roms:LastModifiedBy>?</roms:LastModifiedBy>
         <!--Optional:-->
         <roms:LastModifiedDateUTC>?</roms:LastModifiedDateUTC>
         <!--Optional:-->
         <roms:LastModifiedAt>?</roms:LastModifiedAt>
         <!--Optional:-->
         <roms:Comments>?</roms:Comments>
      </roms:CreateRoundTask>
   </soapenv:Body>
</soapenv:Envelope>

现在如上所示,有可选标签和强制标签。现在我的老板希望当我尝试在soap ui中使用服务时,我不会传递可选标签,只会传递强制性标签,例如:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:roms="http://tempuri.org/">
       <soapenv:Header/>
       <soapenv:Body>
          <roms:CreateSceduler>
             <roms:SampleID>?</roms:SampleID>
             <roms:PersonID>?</roms:PersonID>
             <roms:Location>?</roms:Location>
             <roms:CreatedDateUTC>?</roms:CreatedDateUTC>
             </roms:CreateRoundTask>
       </soapenv:Body>
    </soapenv:Envelope>

But when i invoke my BPS service with this payload in soap ui i get selection failure fault.
How can i achieve above functionality which my boss wants in wso2 BPS. 
Looking forward to your answers. Thanks in advance
4

1 回答 1

1

BPEL 选择失败意味着您的 BPEL 流程尝试访问消息中不存在的元素。

如果此选择失败发生在<assign>活动中,您可以在元素中设置ignoreMissingFromData属性以忽略此类情况。<copy>请参阅 BPEL 规范,第 63 页:

构造的可选 ignoreMissingFromData 属性用于指定是否按照第 8.4.1 节的规定抑制 bpel:selectionFailure 标准故障。复制操作的选择结果。ignoreMissingFromData 的默认值为“no”。

如果选择失败发生在某个条件下,您需要首先检查此元素是否存在。

于 2013-10-14T19:10:30.647 回答