Действие замены OSB не удалось обновить тело переменной: ошибка синтаксического анализа XML: {err} FORG0005: ожидался ровно один элемент, получено 0 элементов

Я протестировал прокси-сервис в режиме отладки в 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)

osb
person bhopal    schedule 30.10.2012    source источник
comment
Можете ли вы гарантировать, что внешняя переменная передается в модуль? На какой строке он обрывается?   -  person wst    schedule 01.11.2012


Ответы (2)


Проблема в том, что в $lookupTradeInRequest1 ничего нет. Проверьте, правильно ли он извлечен.

person systemhalted    schedule 13.12.2012

В большинстве случаев пространство имен может быть добавлено неправильно. Убедитесь, что источник пространства имен lookupTradeInRequest1 добавлен в osb.

person user3414385    schedule 06.10.2014