Oracle 如何在SOA12C中调用xquery内部的跟踪函数

Oracle 如何在SOA12C中调用xquery内部的跟踪函数,oracle,xquery,soa,oracle-soa,Oracle,Xquery,Soa,Oracle Soa,如何在xquery中调用函数fn:trace,并确保调用的消息出现在web逻辑的控制台中。下面的示例演示如何尝试使用fn:trace,但Jdeveloper错误地生成me Xquery示例 xquery version "1.0" encoding "utf-8"; (:: OracleAnnotationVersion "1.0" ::) declare namespace ns2="http://www.example.org/ConsultarDatosCambioPlan/"; (:

如何在xquery中调用函数fn:trace,并确保调用的消息出现在web逻辑的控制台中。下面的示例演示如何尝试使用fn:trace,但Jdeveloper错误地生成me

Xquery示例

xquery version "1.0" encoding "utf-8";

(:: OracleAnnotationVersion "1.0" ::)

declare namespace ns2="http://www.example.org/ConsultarDatosCambioPlan/";
(:: import schema at "../xsd/PS_SOA_OSB_PLF_CONSULTARDATOSCAMBIOPLAN.xsd" ::)
declare namespace ns1="http://xmlns.oracle.com/pcbpel/adapter/db/top/dbAllOperations";
(:: import schema at "../xsd/dbAllOperations_table.xsd" ::)

declare variable $RegistrosBaseDatos as element() (:: schema-element(ns1:DatosCollection) ::) external;
declare variable $Codigo as xs:string external;
declare variable $Mensaje as xs:string external;
declare variable $Descripcion as xs:string external;



declare function local:func($RegistrosBaseDatos as element() (:: schema-element(ns1:DatosCollection) ::), 
                            $Codigo as xs:string,
                            $Mensaje as xs:string,
                            $Descripcion as xs:string) 
                            as element() (:: schema-element(ns2:ConsultarDatosClienteResponse) ::){

    fn:trace($RegistrosBaseDatos)

    <ns2:ConsultarDatosClienteResponse><!-- The error appears here, Syntax error. ">" is unexpected -->
        {
            for $Datos in $RegistrosBaseDatos/ns1:Datos
            return 
            <Datos>
                <idCliente>{fn:trace($RegistrosBaseDatos,"este es el valor de ")} {fn:data(xs:int($Datos/ns1:dtsCedula))}</idCliente>
                <nomCliente>{fn:data($Datos/ns1:dtsNombre)}</nomCliente>
                <apeCliente> </apeCliente>
                <direccion>{fn:data($Datos/ns1:dtsDireccion)}</direccion>
                <telefono>{fn:data($Datos/ns1:dtsCelular)}</telefono></Datos>
        }
        <Mensaje>
            <Codigo>"codigo stas" + {fn:data($Codigo)}</Codigo>
            <Mensaje>{fn:data(fn:string($Mensaje))} + "esto no es uin buen mxl" +  {fn:data(($RegistrosBaseDatos))}</Mensaje>
            <Descripcion>{fn:data($Descripcion)}</Descripcion>
        </Mensaje>
    </ns2:ConsultarDatosClienteResponse>
};

declare function local:test($RegistrosBaseDatos as element() (:: schema-element(ns1:DatosCollection) ::)) as empty-sequence(){
  fn:trace($RegistrosBaseDatos,"este es el valor de ")
};

local:func($RegistrosBaseDatos, $Codigo,$Mensaje,$Descripcion)
xquery版本“1.0”编码“utf-8”;
(::OracleAnnotationVersion“1.0”:)
声明命名空间ns2=”http://www.example.org/ConsultarDatosCambioPlan/";
(::在“./xsd/PS_SOA_OSB_PLF_CONSULTARDATOSCAMBIOPLAN.xsd”导入架构):)
声明命名空间ns1=”http://xmlns.oracle.com/pcbpel/adapter/db/top/dbAllOperations";
(::在“./xsd/dbAllOperations_table.xsd”处导入架构:)
将变量$RegistrosBaseDatos声明为元素()(::架构元素(ns1:DatoCollection)::)外部;
将变量$Codigo声明为xs:string external;
将变量$Mensaje声明为xs:string external;
将变量$description声明为xs:string external;
声明函数local:func($RegistrosBaseDatos as element()(::架构元素(ns1:DatoCollection):),
$Codigo作为xs:string,
$Mensaje作为xs:string,
$description作为xs:string)
as元素()(::架构元素(ns2:ConsultarDatoClient响应):){
fn:跟踪($RegistrosBaseDatos)
{
对于$RegistrosBaseDatos/ns1中的$Datos:Datos
返回
{fn:trace($RegistrosBaseDatos,“este es el valor de”)}{fn:data(xs:int($Datos/ns1:dtsCedula))}
{fn:data($Datos/ns1:dtsNombre)}
{fn:data($Datos/ns1:dtsDireccion)}
{fn:data($Datos/ns1:dtscellar)}
}
“codigo stas”+{fn:data($codigo)}
{fn:data(fn:string($Mensaje))}+“esto-no-es-uin-buen-mxl”+{fn:data($RegistrosBaseDatos))}
{fn:data($descripion)}
};
将函数local:test($RegistrosBaseDatos as element()(::架构元素(ns1:DatoCollection):))声明为空-sequence(){
fn:trace($RegistrosBaseDatos,“este es el valor de”)
};
本地:func($RegistrosBaseDatos、$Codigo、$Mensaje、$Description)

fn:trace
接受,但第一次调用只有一个:

fn:trace($RegistrosBaseDatos)

fn:trace
接受,但第一次调用只有一个:

fn:trace($RegistrosBaseDatos)

我已经在函数中添加了两个参数,但是仍然看到相同的错误。我已经在函数中添加了两个参数,但是仍然看到相同的错误。