2017-02-13 9 views
1

xqueryの中で関数fn:traceを呼び出す方法と、呼び出しのメッセージがWebロジックのコンソールに表示されるようにする方法次の例は、fn:traceを使用する方法を示していますが、Jdeveloperがエラーで私を生成します。 XQuerySoa Suit 12のxquery内のトレース関数の呼び出し方法C

例は

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) 

答えて

0

fn:tracetwo parametersがかかりますが、最初の呼び出しが一つだけあります

fn:trace($RegistrosBaseDatos) 
+0

は、私はすでに関数に2つのパラメータを追加する変更を行ったが、私はまだ同じを参照してくださいエラー。 –

関連する問題