OSB替换操作失败更新变量“body”:解析XML时出错:{err} FORG0005:预计只有一个项目,得到0个项目

时间:2012-10-30 21:51:25

标签: osb

我在eclipse中以调试模式测试了代理服务工作正常,但是当我在Sb控制台中测试时,我遇到了上述错误。

以下是我的Xquery

(:: pragma bea:global-element-parameter parameter="$lookupTradeInRequest1" element="ns2:lookupTradeInRequest" location="../../../../../Interfaces/Schemas/DeviceTradeInService.xsd" ::)
(:: pragma bea:global-element-return element="ns0:InputParameters" location="../../../../../../TargetEER/Resources/DBAdapter/LookupTradeIn/xsd/LookupTradeIn_sp.xsd" ::)

declare namespace ns2 = "http://esp.t-mobile.com/mo";
declare namespace ns1 = "http://esp.t-mobile.com/2012/eo";
declare namespace ns0 = "http://xmlns.oracle.com/pcbpel/adapter/db/sp/lookupTradeIn";
declare namespace xf = "http://tempuri.org/ProductManagement/Transformation/DeviceTradeInService/lookupTradeIn/Request/lookupTradeInRequest_To_cancelTradeInDbRequest/";

declare function xf:lookupTradeInRequest_To_cancelTradeInDbRequest($lookupTradeInRequest1 as element(ns2:lookupTradeInRequest))
as element(ns0:InputParameters) {
    <ns0:InputParameters>
        <ns0:POFFERID>{ data($lookupTradeInRequest1/offerId) }</ns0:POFFERID>
        <ns0:PRMAID>{ data($lookupTradeInRequest1/RMANumber) }</ns0:PRMAID>
        <ns0:PACCOUNTNUMBER>{ data($lookupTradeInRequest1/accountNumber) }</ns0:PACCOUNTNUMBER>
        <ns0:PMSISDN>{ data($lookupTradeInRequest1/MSISDN) }</ns0:PMSISDN>
        <ns0:PSERIALNUMBER>{ data($lookupTradeInRequest1/serialNumber) }</ns0:PSERIALNUMBER>
        <ns0:PHIST>{ data($lookupTradeInRequest1/includeHistory) }</ns0:PHIST>
    </ns0:InputParameters>
};

declare variable $lookupTradeInRequest1 as element(ns2:lookupTradeInRequest) external;

xf:lookupTradeInRequest_To_cancelTradeInDbRequest($lookupTradeInRequest1)

2 个答案:

答案 0 :(得分:3)

问题是$ lookupTradeInRequest1中没有任何内容。检查是否正确提取。

答案 1 :(得分:0)

大多数情况下,命名空间可能无法正确添加。请确保在osb中添加了lookupTradeInRequest1名称空间的源代码。