Call bpws:getVariableData from xslt

Hello,
I need to access a global xml BPEL variable from my xslt script called by a ora:processXSLT function, from an assign block.
In order to have this, I tried to call “bpws:getVariableData” inside the xslt, but I receive the following error at runtime:
“Extension function http://schemas.xmlsoap.org/ws/2003/03/business-process/ : getVariableData is unknown. Please verify the xpath query.”
This is a part of the xslt file:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns="http://oracle.com/SimpleMerge"
                    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:a="http://oracle.com/SimpleMerge">
<xsl:output method="xml" indent="yes" />
     <xsl:variable name="services" select="bpws:getVariableData(&quot;serviceType&quot;, &quot;payload&quot;)"/>
Any idea?
Thanks,
Ion

Thanks Eric, this has given me an idea for another little problem I was facing, so thanks.
I think what I'm interested in is passing parameters into a transform, so something along the lines of:
ora:processXSLT('MyTransform.xsl', bpws:getVariableData('inputToTransform'), 'param1', 'value1', ...)
(where additional (optional) parameters would appear in pairs.)
From my understanding, 114, is just a wrapper for an XSLT transform. In my situation, I have an existing XSLT file (that I can't modify) which takes a number of parameters. This is why I'd like to use this kind of mechansim. If I adpated 114 for my example, I would still have the problem of passing parameters into my transform.
This is all slightly off the original topic maybe, but it was raised earlier in this thread. I notice that this is something that active BPEL supports, so was wondering if there was something similar in Oracle BPEL.
Adam

Similar Messages

  • How to call Java method from XSLT??

    Hi All,
    Jdev 11.1.1.3.0
    I have a requirement to implement that, I have to call Java method from XSLT. Could anyone please suggest to implement that??
    Thanks,
    Santosh M E

    As pointed by others, you must expose your method as a custom function, registering with JDeveloper (for development time) as well as with SOA Suite (for runtime).
    In the link below you will find a simple step by step example:
    https://blogs.oracle.com/reynolds/entry/building_your_own_path
    Regards,
    Luis F. Heckler

  • Calling graphical mapping from XSLT mapping Prog

    hi guys;
    can anyone tell me that weather we can call graphical mapping  from XSLT mapping prog.If this is possible then can anyone guide me through the steps

    Mudit
    Can you go through the links which might be useful to you:
    Use of XSLT mapping?
    Re: Java Mapping  and Graphical Mapping
    ---Mohan

  • Calling JAVA Functions from XSLT

    Hi,
    I am trying to invoke a Java Extension Function from a XSLT. I added both the class file and the XSLT file to a folder, then zipped the entire folder and uploaded into the Archive for my Interface MApping.
    The CLASS gets loaded but the runtime engine gives an error when calling the JAVA Function.
    Here is what it says:
    Creating mapping sequence with 2 steps. --- Creating Java mapping Deliveries/stringHandler --- Creating mapping sequence with 2 steps. --- Creating XSLT mapping Deliveries/test1 --- Using MappingResolver with context URL /sapmnt/XD1/global/xi/mapping/http%3A%2F%2Fwolterskluwer%2Ecom%2Fxi%2F wk_midas_deliveries%2Ftest/cd2e6820267511d9cb52c3c5143c3524/ --- Loaded class Deliveries.stringHandler --- com.sap.aii.ibrun.server.map.MappingRuntimeException: at com.sap.aii.ibrun.server.map.MappingRuntimeException.code_STYLESHEET_OR_CLASS_NOT_FOUND(MappingRuntimeException.java:91) at com.sap.aii.ibrun.server.map.RUMappingJava.instantiate(RUMappingJava.java:168) at com.sap.aii.ibrun.server.map.RUMappingJava.execute(RUMappingJava.java:41) at com.sap.aii.ibrun.server.map.RUSequence.execute(RUSequence.java:50) at com.sap.aii.ibrun.server.map.RURunner.run(RURunner.java:58) at com.sap.aii.ibrun.server.map.RUManager.run(RUManager.java:66) at com.sap.aii.ibrun.sbeans.map.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.map.MappingServiceImpl.processFunction(MappingServiceImpl.java:83) at com.sap.aii.ibrun.sbeans.map.XMappingServiceObjectImpl0.processFunction(XMappingServiceObjectImpl0.java:24) at com.sap.aii.ibrun.sbeans.map.MappingServiceKey.processFunction(MappingServiceKey.java:10) at java.lang.reflect.Method.invoke(Native Method) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.invokeBean(RFCDefaultRequestHandler.java:83) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:50) at com.inqmy.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:69) at com.sap.mw.jco.JCO$Server.dispatchRequest(Unknown Source) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.nativeListen(Native Method) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.run(Unknown Source) at java.lang.Thread.run(Thread.java:513) --
    Any help or suggestions to solve this problem would be greatly appreciated.
    Thanks
    A

    Hi,
    Thanks for looking into this.
    1. I have verified that the path in the zip file is correct i.e com/sap/test/stringHandler.class
    2. test1.xsl is in the root folder i.e No path.
    3. I see the Message in the stacktrace saying "Loaded Class com/sap/test/stringHandler.class " but after that I get a runtime MApping Error and it says "CLASS_NOT_FOUND".
    Can you please tell me why is this happening?
    Thanks
    A

  • Newbie Help: Calling Java function from XSLT

    Hi everyone!
    I am trying to call a java function from my XSL file. like...
    <xsl:stylesheet version="1.0"
        xmlns:java="http://xml.apache.org/xslt/java"
        xmlns:fn="http://www.my.com/xslt"     
        exclude-result-prefixes="java fn">
    <xsl:variable name="embeddedpic"
    select="formData/instance/EmployeePicture" />
    <xsl:variable name="pic" select="fn:com.my.utils.ConversionUtils.base64DecodeString($embeddedpic)"/>I am getting this exception in calling the above java function from my XSLT (XalanXPathException: The function number 'http://xml.apache.org/xslt/java:com.my.utils.ConversionUtils.base64DecodeString' is not available.)I have the function lib file in my classpath but still i am getting this error. Any info is highly appreciated.
    Thanks

    Try this.
    <?xml version="1.0" ?>
    <xsl:transform version="1.0" xmlns:fn="com.my.utils" >
    <xsl:variable name="pic" select="fn:ConversionUtils.base64DecodeString($embeddedpic)"/>
    etc.
    as long as your code is in the classpath it should find it.
    Henock.

  • Is it possible to call Java functions from XSLT, using standard Java 6?

    I have seen examples, but the examples are always the most simple case, which even I can already get working. The case where no arguments are passed to the java function.
    As soon as I try to pass an argument to the java function, i get a stupid unhelpful error message (as always error messages are unhelpful).
    Or am I wasting my time using the standard provided java parser, and need to use apache or something?
    anyone who can provide me with a couple lines of working code is to me a saint!
    At the moment I am using calling a named template, and passing a param into this.
    I want to use this param as an argument in the Java function.
    Is this possible?
    example code:
         <xsl:template name="calc-age">
              <xsl:param name="dob"/>          
         <xsl:variable name="sdob" select="java:lang.String.new($dob)"/>
         <xsl:value-of select="java:toString($sdob)"/>     
         </xsl:template>

    I have fixed it.
    I had to call an xslt 1 function 'string' on the variable before passing it into the java function (see below).
         <xsl:template name="calc-age">
              <xsl:param name="dob"/>          
              I know that the value of the param is: <xsl:value-of select="$dob"/><br/>     
             <xsl:variable name="poo" select="$dob"/>
             <xsl:variable name="sdob" select="java:lang.String.new(string($poo))"/> 
             And here again, we try to print a variable<xsl:value-of select="$poo"/>                <br/>
             And here again, we try to print the result of the java call<xsl:value-of select="java:toString($sdob)"/>      <br/>
             and here is our variable sdob    <xsl:value-of select="$sdob"/>             
         </xsl:template>          Now this is APPARENTLY a xslt-1 function,
    but the reference I had been using for this is
    http://www.w3schools.com/xpath/xpath_functions.asp it is linked to by a reference that calls these xslt-2 functions.
    Maybe they are mixed xslt-1 and xslt-2 functions?
    How am I supposed to know?
    Where is a good (plain and simple, easy to read) reference for xsl, so i know which functions are which?
    Anyone got a good answer to that question?

  • How to call java code from xslt.

    I have to do some complex looping in my stylesheets. It is difficult to implement it directly. can i write a javacode for the same and invoke it from my stylesheet? Can anyone help me out with a demo if possible?

    you're the one supposed to provide updates on your progress, not anyone else...

  • Notable to call java method from xslt

    Hi All,
    We are not able to call java methods that return org.w3c.dom.NodeList.
    All other methods invocation are working fine but process errors out when we try to call a method that returns org.w3c.dom.NodeList.
    Any help is highly appiciated.
    Vigni

    As pointed by others, you must expose your method as a custom function, registering with JDeveloper (for development time) as well as with SOA Suite (for runtime).
    In the link below you will find a simple step by step example:
    https://blogs.oracle.com/reynolds/entry/building_your_own_path
    Regards,
    Luis F. Heckler

  • Calling java from XSLT

    Hi All,
    I am trying to call java method from XSLT file. It works fine on stand alone when I use Simple Transformation java program for transformation, but the same code is throwing exception in weblogic application server.
    Please help me on this issue.
    Exception:
    ERROR: The first argument to the non-static Java function 'getRev' is not a valid object reference.
    FATAL ERROR: 'Could not compile stylesheet'
    javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:828)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:617)
         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2737)
    at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2657)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:285)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
    at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
    at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:60)
    at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
    at com.agile.pc.cmserver.change.ChangeSessionBean_3rbfzs_EOImpl.processWorkflowExtensions(ChangeSessionBean_3rbfzs_EOImpl.java:10838)
    at com.agile.pc.cmserver.base.CMRouteSessionBean.changeStatus(CMRouteSessionBean.java:960)
    at com.agile.pc.cmserver.base.CMRouteSessionBean.changeStatus(CMRouteSessionBean.java:898)
    at com.agile.pc.cmserver.base.CMRouteSessionBean.changeStatus(CMRouteSessionBean.java:888)
    at com.agile.pc.cmserver.change.ChangeSessionBean_3rbfzs_EOImpl.changeStatus(ChangeSessionBean_3rbfzs_EOImpl.java:12050)
    at com.agile.ipa.pc.CMRoute.changeStatus(CMRoute.java:705)
    at com.agile.ui.pcm.common.RouteHandler.changeStatus(RouteHandler.java:1747)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.agile.ui.web.action.ActionServlet.invokeMethod(ActionServlet.java:1067)
    at com.agile.ui.web.action.ActionServlet.handleRequest(ActionServlet.java:672)
    at com.agile.ui.web.action.ActionServlet.doPost(ActionServlet.java:309)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at com.agile.ui.pcm.common.filter.RemoteFSRequestFilter.doFilter(RemoteFSRequestFilter.java:148)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at com.agile.ui.web.filter.LoggingFilter.doFilter(LoggingFilter.java:108)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at com.agile.ui.pcm.common.filter.WebClientLog.doFilter(WebClientLog.java:78)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at com.jspbook.GZIPFilter.doFilter(GZIPFilter.java:21)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at com.agile.ui.pcm.common.filter.SSOTicketFilter.doFilter(SSOTicketFilter.java:89)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    XSLT sample code:
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
         xmlns:pl="com.oracle.test.Sample" version="2.0">
         <xsl:template match="/">
              <xsl:variable name="rev" select="'02'" />
              <xsl:variable name="msg" select="pl:getRev($rev)" />
              <xsl:element name="result">
                   <xsl:value-of select="$msg" />
              </xsl:element>
         </xsl:template>
    </xsl:stylesheet>
    Sample.java :
    package com.oracle.test;
    import java.io.*;
    public class Sample {
         public static String getRev(String rev) {
              // some logic i am going include here
              if (rev.equals("01")) {
                   return "valid one";
              return "";
    Thanks All,

    ERROR: The first argument to the non-static Java function 'getRev' is not a valid object reference.Because it results in this error rather than anything else, you have to verify (apart from typos) the actual files finally deployed to run that your method getRev is declared "static", and that the argument $rev is setup with select="'02'" and not select="02". (What you posted looks fine, just make sure it remains the same in those essential aspect.)

  • Unable to call getVariableData from java exec

    Hi,
    I am trying to call getVariableData("inFile") from a java exec. However, I get the following error:
    <2005-01-18 11:40:37,506> <DEBUG> <default.collaxa.cube.engine> <bpel._1_0.SyncHello__BPEL4WS_BIN$$BPELC_BxExe22::perform> error thrown
    com.collaxa.cube.engine.types.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}javaException}
    messageType: {{http://schemas.oracle.com/bpel/extension}javaException}
    code: {null}
    summary: {null}
    detail: {null}
    at com.collaxa.cube.engine.ext.wmp.BPELXExecWMP.__executeStatements(BPELXExecWMP.java:66)
    at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:154)
    at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3215)
    at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1636)
    In the .bpel file, I have declared the variable as follows:
    <variable name="inFile" type="xsd:string"/>
    I have assigned values to this variable in two different ways (using the assign tag and also through a java exec call):
    <assign>
    <copy>
    <from expression="'inFile.txt'"/>
    <to variable="inFile"/>
    </copy>
    </assign>
    OR alternatively:
    setVariableData("inFile", new String("inFile.txt"));
    After this I attempt to call (this is the part that throws the error):
    CubeDOMElement el = (CubeDOMElement) getVariableData("inFile");
    The strange thing is that I am able to get the variable from inside an assign activity as follows:
    <assign name="setOutputVars">
    <copy>
    <from expression="bpws:getVariableData('inFile')"/>
    <to variable="output" part="payload"
    query="/outputMessage"/>
    </copy>
    </assign>
    This assign works perfectly and outputs the correct value.
    Any suggestions would be greatly appreciated.
    Thanks.

    I have a similar problem, but I try to retreive a complex object.
    The assign activity successfully copy data to the variable 'DMSPollingInput'.
    Here is my code:
    Element element = (Element) getVariableData("DMSPollingInput");
    System.out.println("Receive Poll and execute enqueue ");
    if(element==null) System.out.println("element is null ");
    else System.out.println("element is not null ");
    IDmsPollingsCollection requests =
    IDmsPollingsCollectionFactory.createFacade(element);
    if(requests==null) System.out.println("requests is null ");
    else System.out.println("requests is not null ");
    List dmsPollings = requests.getIDmsPollings();
    int count = dmsPollings.size();
    System.out.println("Poll size: " + count);
    The count always equals to 0.
    Please help

  • Calling FM in external system from XSLT

    Hi,
    I know that in XSLT interpreter provided by SAP supports calling function modules.
    I need to call FM in external system from XSLT in message mapping and its result insert into one of element result XML message.
    Do you think it is possible ?
    If so is available any documentation for that.
    Any help is appreciated.
    Thank you.
    Marian Morzol

    Hi Vijaya,
    this is very helpfull document for me. However I need some other explanation.
    Does it meen that I need to write "Helper java class" ( e.g. in text editor - Notepad) and deploy the source to to Entegration Engine directory or an Adapter Directory ( maybe using Visual Administrator).
    It is not clear for me.
    I have XI 3.0 running on Windows 2003 Professional so to copy some files to some folders should not be a problem but I need an exact guide what I have to do.
    Thank you.
    Marian

  • Calling ora:processXQuery from bpel with parameters

    I am trying to call ora:processXQuery from bpel with parameters. I am using SOA Suite 11.1.1.7
    ora:processXQuery('selectVersionNumber.xq',bpws:getVariableData('XML_FILE_VAR','/ns4:InputParameters'),"OBJ_ID_VAR","OBJ_ID_INNER_VAR", bpws:getVariableData('OBJ_ID_VAR'),bpws:getVariableData('OBJ_ID_INNER_VAR'))
    selectVersionNumber.xq :
    xquery version "1.0";
    declare namespace ns4="http://www.example.org";
    let $item := //ns4:P_RELATIONSHIP_TBL
    for $x in $item/P_RELATIONSHIP_TBL_ITEM
        for $y in $x/ns4:P_RELATIONSHIP_TBL_INNER/ns4:P_RELATIONSHIP_TBL_ITEM_INNER
        where $x/ns4:OBJECT_ID = $OBJ_ID_VAR and $y/ns4:OBJECT_ID=$OBJ_ID_INNER_VAR
            return <objectVersion>{ $y/ns4:OBJECT_VERSION_NUMBER }</objectVersion>
    but ora:processXQuery dosen't accept more than two arguments. Is there any work around?

    Create a specific xml schema for your xquery as a input and pass that. Extract the required values from xml in your xquery.

  • How can I call ora:appendToList from java snippet?

    I want to assign a list of user from User Task A to User Task B, but I don't know how to call ora:appendToList from java snippet, and are there any better ways to solve this situation?

    Hi Rakesh,
    Thank you for your help.
    For issue 1, for example, user jcooper apply a vacation, and the request goes to his manager jstein,
    and jstein dispatch the task to mtwain and rsteven for parallel approval, (this is just for example, in
    some case, the manager can use the reassign function), so I use simple workflow pattern for manager approval,
    and parallel workflow pattern for parallel approval, but in my situation, the user for parallel approval is
    uncertain, need select by manager jstein, so I want to know how to assign the user from java code to bpel process.
    The following is how I solve the problem now, put the user list string in flexString1 of simple workflow task,
    then allocate the array for parallel assigneeUsers, then use setVariableData assign the value, it can do the job,
    but the code is awful, I want to know how to do it in some better way.
    <assign name="copyPayloadFromTask">
    <copy>
    <from expression="ora:countNodes( 'inputVariable','task','/task:task /task:assigneeUsers')"/>
    <to variable="currentLength"/>
    </copy>
    </assign>
    <sequence>
    <bpelx:exec name="Java_Embedding_2" language="Java" version="1.4"><![CDATA[
    Element ele=(Element)getVariableData("inputVariable","task","/task:task/task:flexString1");
    String users=ele.getNodeValue();
    String[] userArray=users.split(",");
    setVariableData("arrayLength",new Integer(userArray.length));
    ]]>
    </bpelx:exec>
    <while name="While_1" condition=" (bpws:getVariableData('currentLength')) &lt; (bpws:getVariableData('arrayLength')) ">
    <assign name="Assign_1">
    <copy>
    <from expression="ora:appendToList('inputVariable','task',' /task:task/task:assigneeUsers', string( 'test'))"/>
    <to variable="oraBPMTemporaryVariable"/>
    </copy>
    <copy>
    <from expression="ora:countNodes( 'inputVariable','task','/task:task /task:assigneeUsers')"/>
    <to variable="currentLength"/>
    </copy>
    </assign>
    </while>
    <bpelx:exec name="Java_Embedding_1" language="Java" version="1.4"><![CDATA[
    Element ele=(Element)getVariableData("inputVariable","task","/task:task/task:flexString1");
    String users=ele.getNodeValue();
    String[] userArray=users.split(",");
    for(int i=0;i<userArray.length;i++){
    setVariableData("inputVariable","task","/task:task/task:assigneeUsers["+(i+1)+"]",userArray);
    }]]>
    </bpelx:exec>
    Thanks,
    Ming

  • Easy RFC lookup from XSLT mapping using a java class (getting Error)

    Hi All,
    I am trying to implement the sample scenario for calling RFC from xslt with the help of wrapper class. I am getting following error.
    com.sap.aii.mapping.lookup.LookupException: Internal lookup service is not registered. Invoking the lookup service is only supported in the Integration Builder test environment or in the Integration Server runtime environment. at com.sap.aii.mapping.lookup.LookupService.getService(LookupService.java:400) at com.sap.aii.mapping.lookup.LookupService.getChannel(LookupService.java:285) at com.sap.aii.mapping.lookup.LookupService.getChannel(LookupService.java:318) at dk.applican.xi.mapping.lookup.RfcLookup.execute(RfcLookup.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.lib.xsl.xpath.functions.JLBFunction.execute(JLBFunction.java:145) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:110) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:54) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:41) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:49) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:125) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:228) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:256) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.callTemplate(XSLStylesheet.java:1310) at com.sap.engine.lib.xsl.xslt.XSLCallTemplate.process(XSLCallTemplate.java:102) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:228) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:241) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:228) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:241) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:228) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:256) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:445) at com.sap.engine.lib.xsl.xslt.XSLApplyTemplates.process(XSLApplyTemplates.java:158) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:228) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:256) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:445) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:381) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:392) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:234) at com.sap.aii.ibrun.server.mapping.MappingTransformer.transform(MappingTransformer.java:153) at com.sap.aii.ibrun.server.mapping.XSLTMapping.executeStep(XSLTMapping.java:67) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:77) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:88) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:63) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:80) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor482.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy22.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:95) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162
    I am SAP XI 3.0 SP-9

    Hello,
    I have the same issue as stated above.
    At runtime sometimes the mapping fails however when executing the mapping from ESR (test operation mapping) with the same payload it is executed succesfully (lookup is to system that is the senderservice of the scenario).
    Anybody a clue.
    Also clearing mapping cache etc. did not solve the problem.
    Thanks,
    Emile

  • ***Calling Java finctions in XSLT MApping

    Hi All,
    How to  call java mapping functions in XSLT.I have created Value mapping function in java,want to call the same through XSLT.
    could you provide me  general XSLT prdefined functions with explanations that may be used commonly.
    Thanks,
    Srinivasa

    Hi Srinivas,
    Please see these blogs:
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    /people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
    /people/kulwinder.grewal/blog/2009/08/21/xslt-runtime-value-mapping-from-integration-directory-using-xivmserviceclass
    /people/kulwinder.grewal/blog/2009/08/21/java-runtime-value-mapping-from-integration-directory-using-xivmserviceclass
    Regards,
    ---Satish

Maybe you are looking for