JDeveloper xslt processing

Does anyone know if it's at all possible to have an XSLT extension function throw an error to the default XSLT processor? I have an extension function defined that throws an exception, but when that exception is raised, the processor seems to just stop processing without throwing any erros.
Tanks for any help.

I know XSLT can't handle exceptions, I was wondering if you can force an exception to be thrown and caught by the xslt processor. For example if a conversion function only takes numbers and it get passed a string, can I get the processor to terminate/abend.

Similar Messages

  • How to add XSLT processing tag?

    Hello,
    I am using the following codes to generate xml with xslt processing tags.
    However it does not working. That is, it does not add the xslt processing
    tag into xml outputs. I am using 1.6.x. I must be doing something wrong?
    Document doc = db.newDocument();
    Element root = doc.createElement("myroot");
    doc.appendChild(root);
    ProcessingInstruction pi =
         doc.createProcessingInstruction("xml-stylesheet",
         "type =\"text/xsl\" href=\""+xslt+"\"");
    doc.insertBefore(pi, root);
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    OutputFormat format = new OutputFormat(doc);
    XMLSerializer serial = new XMLSerializer(pw, format);
    serial.asDOMSerializer();
    serial.serialize(doc.getDocumentElement());
    pw.flush();

    Instead of adding processing instruction directly inside DOM object, add the processing instruction while serializing XML like this
    Document doc = db.newDocument();
    Element root = doc.createElement("myroot");
    doc.appendChild(root);
    //ProcessingInstruction pi = doc.createProcessingInstruction("xml-stylesheet",
    //     "type =\"text/xsl\" href=\""+xslt+"\"");
    //doc.insertBefore(pi, root);
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    OutputFormat format = new OutputFormat(doc);
    XMLSerializer serial = new XMLSerializer(pw, format);
    serial.asContentHandler().processingInstruction("xml-stylesheet","type=\"text/xsl\" href=\"users.xsl\"");
    serial.asDOMSerializer();
    serial.serialize(doc.getDocumentElement());
    pw.flush();or use an alternate serializer like this one (coming from [http://exampledepot.com/]
        // This method writes a DOM document to a file
        public static void writeXmlFile(Document doc, String filename) {
            try {
                // Prepare the DOM document for writing
                Source source = new DOMSource(doc);
                // Prepare the output file
    //            File file = new File(filename);
                  StringWriter sw = new StringWriter();
                Result result = new StreamResult(System.out);
                // Write the DOM document to the file
                Transformer xformer = TransformerFactory.newInstance().newTransformer();
                xformer.transform(source, result);
            } catch (TransformerConfigurationException e) {
            } catch (TransformerException e) {
        }  

  • Scope structured activity in JDeveloper/BPEL Process

    well, I am quite using Jdeveloper for createing BPEL process with scope activity and without. Now under what conditions ideally one should go for scope activity ?
    Is it similar to methods in Java ? and variables we declare inside this scope are visible only within this scope --> again something similar to local variables in Java.
    So, ideally when should developer think of using scope activity in bpel ? though many's answers would be depends the business scenario. But I need some general concepts & thought about how one should use this ?
    Thanks.

    Hi,
    Scope activity is being used as a container for other activities. Within the scope you can manage fault handling, compensation, variable declaration, correlation etc..
    When you build, or design your process, you need to consider a use of a scope activity.
    For example: You need to design a process that calls java class and a web service(or other 2 operations). You can:
    1. Use 1 scope that contains both calls. That way, if you will have an error for either one of the services, you can catch it, and do something, like terminate the process.
    2. Use 1 scope for each service call. That way, if you will have an error for either one of the services, you can catch it, and continue to the next process step (scope or other activity).
    Also, within a scope you can declare an operation that Replay the scope. That way, if something happens -> begin the scope (and its activities) from the beginning.
    There are many ways and purposes to use a scope. Again, it depends what is your requirement.
    One important thing to consider –scope can influence on performance (just to be aware of).
    Arik

  • XSLT processing instructions ignored, and namespaces excluded

    Hi folks,
    I am developing a BPEL process and created the following XSLT:
    <xsl:stylesheet version="1.0"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    <strong> xmlns:agrlib="http://services.agresso.com/schema/ABWSchemaLib/2005/05/13"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    </strong> exclude-result-prefixes="xsl xp20 bpws ora ehdr orcl ids hwf"&gt;
    <strong> &lt;xsl:output omit-xml-declaration="no"/&gt;
    &lt;xsl:output standalone="yes"/&gt;
    </strong> &lt;xsl:template match="*[not(node())]"/&gt;
    &lt;xsl:template match="node()"&gt;
    &lt;xsl:copy&gt;
    &lt;xsl:apply-templates select="node()"/&gt;
    &lt;/xsl:copy&gt;
    &lt;/xsl:template&gt;
    &lt;/xsl:stylesheet&gt;
    The transform activity is:
    &lt;copy&gt;
    &lt;from expression="ora:processXSLT('Transformation_1.xsl',bpws:getVariableData('Variable_1'))"/&gt;
    &lt;to variable="Variable_2"/&gt;
    &lt;/copy&gt;
    This XSLT has been tested in Oxygen and produces the required result with the required namespaces included...i.e.
    <p>
    &lt;?xml version="1.0" encoding="utf-8"?&gt;
    </p>
    <p>
    &lt;ABWSupplierCustomer xmlns="http://services.agresso.com/schema/ABWSupplierCustomer/2005/05/13" xmlns:agrlib="http://services.agresso.com/schema/ABWSchemaLib/2005/05/13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    </p>
    <p>
    ...rest of file...
    But when the BPEL process executes, it outputs this:
    </p>
    <p>
    &lt;ABWSupplierCustomer xmlns="http://services.agresso.com/schema/ABWSupplierCustomer/2005/05/13"&gt;
    </p>
    Anyone any ideas?

    This is how I create my DOM...
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    org.w3c.dom.Document doc = builder.newDocument();
    Element docElement = doc.createElement("Document");
    docElement.setAttribute("Title", "Home");
    org.w3c.dom.ProcessingInstruction pi = doc.createProcessingInstruction("xml", "type=\"xslt\"");
    doc.appendChild( pi );
    doc.appendChild( docElement );
    And this is the output I get...
    <?xml version="1.0"?>
    <Document Title="Home"/>
    I dont get it, Im using jdk1.4.0, and you get the processing instruction coming through, but I dont...?

  • Counter in XSLT processing

    Is there anyway to keep an incremental counter in an XSLT stylesheet? I would like to append this counter to several element names to maintain uniqueness.
    Thanks
    Kathy

    I can generated the number I want using xsl:number. However, I don't know how to include it as part of the element name I am trying to generate.
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    For example:
    <xsl:template match="DownlinkCellID_member">
    <xsl:number level="single" count="DownlinkCellID_member"/>
    <xsl:element name="DownlinkCellID{@index}">
    <xsl:value-of select="@value"/>
    </xsl:element >
    </xsl:template>
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    "index" is an attribute I included in the original XML file that I read and append to the element name. I would like to remove "index" from the original XML file and replace it's using in the xslt template with the output from xsl:number. How can I do this? Will it work if I create a variable?
    Thanks :-)

  • Dynamic XSLT processing - parameters?

    Goal: I want my XSLT mapping to be dynamic, because I expect a certain number of fields with values in my XML, but these field names may change over time, so I have to make it dynamic.
    Step 1: I made my output dynamic by using dynamic internal tables (field-symbols). So that I can change my internal tables easily with a custom-table. Done!
    Step 2: My XSLT transformation should be handled dynamically. Not done!
    Is this step 2 even possible?
    I was thinking of passing PARAMETERS to my CALL TRANSFORMATION statement so that I can let know what fieldnames my XSLT can expect, but then the question remains if the ZTEST transformation can read this out for my purpose.
    CALL TRANSFORMATION ztest
    PARAMETERS (gt_param)
    SOURCE XML gt_itab
    RESULT (gt_result_xml).
    ...knowing that gt_param can only by of type
    ABAP_TRANS_PARMBIND_TAB (for specifying strings) or
    ABAP_TRANS_OBJBIND_TAB (for specifying object references) or
    ABAP_TRANS_PARM_OBJ_BIND_TAB (for specifying data references).
    Thus, is it possible to make my TRANSFORMATION handling dynamic (by using PARAMETERS or something else)? If yes, does anybody know how. Examples are appreciated.
    Mehmet Metin

    This can be done with basic XSLT. Use the XPath expression '*' to apply a template to each child of a given node (for example, if a node represents an ABAP structure, its children represent its components). In the template, use the XPath-function 'local-name()' to retrieve the name of the current element without namespace. Now you should have everything you need for creating the result tree.
    For a working example in our XI system, see the following template:
    <xsl:template match="ZMEDI_MELDUNG_DET">
      <xsl:element name="{SEGID_N}">
        <xsl:element name='SEGID_N'>
          <xsl:value-of select="*[position()=1]"/>
        </xsl:element>
        <xsl:for-each select="*[position()>1 and text() != '']">
          <xsl:element name="{local-name()}">
            <xsl:value-of select="."/>
          </xsl:element>
        </xsl:for-each>
      </xsl:element>
    </xsl:template>
    Here, I copy the components of the ABAP source structure ZMEDI_MELDUNG_DET (the structure name was fixed in my case, but it's easy to identify it without specifying its name, if it should be given at runtime only) into a result tree fragment with parent node name = the content of the ABAP component SEGID_N, the first child having the fixed name SEGID_N with (redundant) its value again, and after that all the components of the source structure, whatever they may be, if their content is non-empty (this was a format required by another non-SAP-development team).
    Regards,
    Rüdiger

  • XSLT processing in Java

    The few examples either in Xalan or Saxon I have been able to find need xmlSystemId or xsltSystemId that are both Strings. What if I have an xml string in memory and would like to transform it to another xml document? I have not been able to find any APIs that would take an xml string.
    Here are the APIs I am referring to:
    //Xalan
    org.apache.xalan.xslt.XSLTInputSource xmlInputSource = new org.apache.xalan.xslt.XSLTInputSource(xmlSystemId);
    //Saxon
    org.xml.sax.InputSource xmlInputSource = new org.xml.sax.InputSource(xmlSystemId);
    Any thoughts as to how I can create an xmlImputSource using an xml string?
    Thanks.

    One more question: I cannot find some the classes that are used in these examples in the Saxon or Xalan's javadocs. Do I need to download anything else to be able to use them?
    Examples:
    com.icl.saxon.trax.Transformer
    com.icl.saxon.trax.Templates
    com.icl.saxon.trax.Result
    org.xml.sax.InputSource
    Some of these classes exist in javax.xml.transform package. Are they the same? How about Result? I cannot find it in javax.xml.transform either!
    Thanks.

  • XSLT processing and Memory Leak

    I have the following code for a Simple XSLT Transformation from one form of XML to another, the Size of the XML and the XSLT file are very small( few KB).
    As you can see I'm explicitly setting everything to null just to make sure the objects get GC'd.
    When I run the transformation on my local m/c running Windows XP on WSAD5.0 there are no memory leak issues, but when I deploy the Same app on our Server running WSAD 5.1 on Solaris, I see memory issues and finally throws an OutOfMemory Exception.
    Any Ideas would be appreciated.
         public String translate( String xml, String xsltFileName) throws Exception{
              String xmlOut = null;
              File fXslt = null;
              ByteArrayOutputStream baos = null;
              javax.xml.transform.Source xmlSource = null;
              javax.xml.transform.Source xsltSource = null;
              javax.xml.transform.Result result = null;
              InputStream isXML = null;
              javax.xml.transform.TransformerFactory transFact = null;
              javax.xml.transform.Transformer trans = null;
              Templates cachedXSLT = null;
              try{
              //     String classname = System.setProperty("javax.xml.transform.TransformerFactory", "org.apache.xalan.processor.TransformerFactoryImpl");
                   String classname = System.getProperty("javax.xml.transform.TransformerFactory");
                   System.out.println( "******* TRANSFORMER CLASS ***** = "+classname);
                   isXML = new ByteArrayInputStream( xml.getBytes());
                   fXslt = new File(xsltFileName);
                   baos = new ByteArrayOutputStream();
                   xmlSource =
                             new javax.xml.transform.stream.StreamSource( isXML);
                   xsltSource =
                             new javax.xml.transform.stream.StreamSource( fXslt);
                   result =
                             new javax.xml.transform.stream.StreamResult( baos);
                   // create an instance of TransformerFactory
                   transFact = javax.xml.transform.TransformerFactory.newInstance();
                   //transFact.setAttribute("http://xml.apache.org/xalan/features/incremental", Boolean.TRUE);
                   cachedXSLT = transFact.newTemplates(xsltSource);
                   trans = cachedXSLT.newTransformer();
                   //trans =     transFact.newTransformer(xsltSource);
                   trans.transform(xmlSource, result);
                   xmlOut = baos.toString();
    System.out.println("xmlout=***" + xmlOut);
              catch( Exception e){
                   System.out.println( e.getMessage());
                   throw e;
              finally{
                   trans = null;
                   //transFact = null;
                   result = null;
                   xsltSource = null;
                   xmlSource = null;
                   baos.close();
                   baos = null;
                   fXslt = null;
                   isXML.close();
                   isXML = null;
              return xmlOut;
         }

    scream3r wrote:
    All code work's as well, but i have a memory leak by using structure (by creating a new MyStructure());Presumably this really is java code. As such the following are the only possibilities
    1. You do not have a memory leak. You are misreading a tool (probably task manager) and assuming a leak exists when it doesn't.
    2. You need to call something either on MyStructure or by passing it to another class to free it. See the documentation.
    3. The leak is caused by something else.

  • Frame XSLT processing screws graphics mappings

    Hi,
    We have encountered strange behavior in FM 8. Our XML has element for graphics with attribute set that matches 100% to frame graphic properties, like:
    image position="below" href="graphic.jpg" etc..
    rw-rules maps position to position property and href to file property etc..
    If I open the file w/o using frame's XSLT in the middle frame behaves as expected (like 7.x did).
    We had a small and simple xsl stylesheet (almost pass-through) and if that was added in structapps the results were odd in frame:
    - href got mapped to file property, but also appeared in structure view!. Since href was a property, edd had no counterpart. Href was shown as invalid in structure view.
    Also, frame no ignored position totally, all graphics got the default "At insertion point" value. This happened even if I tried to force the property to "below" in rw-rules.
    All this worked in fm 7.x.
    Has anyone noticed similar behaviour?. I'd consider this a serious bug.
    BR, Martti

    Please click my name (at the forum's web page), there you'll find a link to my homepage, go to "Kontakt" to find my email address.
    My domain is cap-studio.de, please use this with my initials 'mmh' before the ubiquitous at sign.
    - Michael Müller-Hillebrand

  • Firefox xslt processing instruction

    Hi
    It's strange, i don't know...
    When my processing instruction looks like this
    <?xml-stylesheet type="text/xsl" href="xml40_reminder.xsl"?>
    i get the transformated xml in both browsers (IE6.0 and Firefox1.5).
    On the other side, when the href-attribute beginns with a FQDN i only get the transformation with IE6.0 and not with Firefox1.5.
    Example:
    <?xml-stylesheet type="text/xsl" href="http://core.mycompany.ch/xsl/xml40_reminder.xsl"?>
    Any ideas?
    Kind regards
    Michael

    Yes, the core-server is an intranet-server where we hold our schemas and stylesheets in a centralized place. In contrast the XML's are stored on an other machine. So it would be nice if we could use URL's to link the XML's with the stylesheets.
    Kind regards
    Michael

  • Throw ESB XSLT processing error

    Does anyone know of a way to throw an error during the transform of two messages so that a service instance fails? Is this possible? I've written a user defined extension function and would like the ESB service to fail if certain conditions are met, like if a database is unavailable for a lookup.

    I'd need to do this without data validation being enables.

  • Code change management in JDeveloper & BPEL Process Manager

    Hi,
    I am finding that when we make any changes such as adding more parameters to a database adapter query, internally generated variable / message type names change, and you have to re-do most of the work downstream of the database adapter.
    It seems the message types etc are generated using the parameter names
    e.g. a generated message type name ..
    ns2:extractGLDataSelect_last_extract_end_date_user_agency_code_current_end_date_inparameters
    This was a message type name generated for a query which takes
    las_extract_end_date, user_agency_code, and current_end_date as input parameters.
    Due to this, if I need to change by adding one more parameter or removing one for that matter, JDev keep all existing definitions and I have to go and make all the relevant downstream changes ...
    Am I missing something? Or that's the way the schema, WSDL and other name generation works... and we can't do much about it ..
    Would like to know if there's a better way to manage, and if others have seen similar issue with maintenance of the source code...
    Thank you,
    M

    I did get it to work after making the changes, just didnt like the way I had to make them. Had several steps, transformation etc. which were using the output from this adapter and had to make appropriae changes there.
    Was looking to see if there is a more efficient way of handling this....
    Thank you,
    M

  • Exception during processing the payload in RFC Lookup through XSLT

    Hi All,
    We are working on a scenario which does a RFC lookup through the XSLT mapping.
    While testing the XSL in he Interface mapping an Exception is generated:
    19:06:32 Start of test
    Call XSLT processor with stylsheet UKMGetKeyMapLatest.xsl.
    START APPLICATION TRACE ***
    reqNode<?xml version="1.0" encoding="UTF-8"?><rfc:UKM_GET_KEY_MAPPINGS xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><UKM_GET_KEY_MAPPING_Request>
    <b><b><b>LookupException com.sap.aii.mapping.lookup.LookupException: Exception during processing the payload.Problem when calling an adapter by using communication channel RFC_RCV_UKMS_TO_ISV_CSV_CSV (Party: , Service: RM_DEV_PI_ISV_001, Object ID: c09e707cfb253c8997dc2451cb83e3cd) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception</b></b></b>: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel RFC_RCV_UKMS_TO_ISV_CSV_CSV (Party: , Service: RM_DEV_PI_ISV_001, Object ID: c09e707cfb253c8997dc2451cb83e3cd) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:96) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:141) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:74) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214) at com.sap.aii.af.service.api.AdapterAccess.call(AdapterAccess.java:99) at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:87) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:141) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:74) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    END APPLICATION TRACE ***
    TransfromerException during XSLT processing:
    javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'lookup:getNodeContent'. at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:251) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'lookup:getNodeContent'. at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:106) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLValueOf.process(XSLValueOf.java:76) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:272) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:463) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:431) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) ... 18 more -
    com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'lookup:getNodeContent'. at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:106) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLValueOf.process(XSLValueOf.java:76) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:272) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:463) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:431) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    19:06:42 End of test <b></b>
    Can any one please help in sorting this out?
    Thanks in advance.
    Sri..

    check with this:
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14</a>

  • Xsi:nil="true" in XSLT Map breaks "choose"-"when" loops - annoying

    Hello,
    Handling "nil" element in choose loops breaks my XSLT tranformation.
    As soon as the element is set to nil, either the "otherwise" branch is executed (wrongly) or the XSLT processing stops.
    I test with "count" for the existence of the element. Depending on if it is nil,
    other elements have to be processed in sub-loops.
    I have an XSLT Mapping in JDeveloper.
    It processes a SOAP request in the form:
    <result>
    <customerNew>CUSTOMER_NEW_NAME</customerNew>
    <customerCurrent>CUSTOMER_NAME</customerCurrent>
    </result>
    which can also be:
    <result>
    <customerNew xsi:nil="true">
    </customerNew>
    <customerCurrent>CUSTOMER_NAME</customerCurrent>
    </result>
    To check for Nil I use:
    <xsl:when test='not(boolean(count(/ns0:changeCustomer/result/customerNew))) and contains(/ns0:changeCustomer/result/customer,"USER_NAME_SOME_BODY")'>
    (the xslt maps between two xsd files and we have quite strict schema definitions)
    As soon as I use the test statement in a loop, it breaks, even if I test for "true" and do not simply check for count<1 etc.
    How can I work with the <customerCurrent> Element, even if the previous element is nilled?
    I talked to several experienced developers and nobody could help. They can do checks in plain xsl with xalan, but not in JDeveloper.
    This took me five days already...who can advice?
    Your help is appreciated very much.

    hi user570144
    You write "They can do checks in plain xsl with xalan, but not in JDeveloper.". Could you describe in detail what it is you (would like to) do "in JDeveloper" and how that is different from "plain xsl with xalan"?
    The "contains" function in your xsl:when test example has the expression "/ns0:changeCustomer/result/customer", but in the xml examples you gave there is no "customer" element inside the "result" element, only "customerNew" and "customerCurrent" elements.
    (tip : You can use "Your Control Panel" to make your name visible in forum posts.)
    regards
    Jan Vervecken

  • XSLT Mapping error

    Hi All
    I am working on PI 7.1 where I have customized standard XSLT mapping according to my requirement.
    I have to add 2 fields in the standard data type ReplenishmentOrder_Notfication from SNC 7.0 SWCV.
    In standard scenario once IDOC STPPOD.DELVRY03 is released from ECC the PI scenario send this to SNC Proxy ReplenishmentOrderNotification_In.
    In my requirement I have to send XML file generated from IDOC to one of Application Folder. I have customized data type, message type, operation mapping, service interface by coping standard things.
    So the changes I have done in standard XSLT mapping are just changin name of data type and not added any mapping for the two new fields I have added to the data type as its not require at the moment.
    When I am running test I am getting follwoing error in Trace. Here please notice that its mentioning standard xslt mapping program name only though on the top you see customized names.
    Please give your inputs to resolve the issue. Thanks.
    Operation Mapping
    StppodDelvry03_MT_ReceivedDeliveryNotification_01
    Name
    StppodDelvry03_MT_ReceivedDeliveryNotification_01
    Namespace
    http://sap.com/xi/SNC/Global
    Runtime error
    TransformerException occurred during XSLT mapping StppodDelvry03_ReceivedDeliveryNotification_01 (http://sap.com/xi/SNC/Global, 46c20a71-248e-11dc-c4be-dd500a115642, -1)
    <Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace> <Trace level="1" type="T">Interface Mapping http://sap.com/xi/SNC/Global StppodDelvry03_ReceivedDeliveryNotification_01 </Trace> <Trace level="1" type="T">TransfromerException during XSLT processing: Thrown: javax.xml.transform.TransformerException: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(, row:1, col:8)(, row=1, col=8) -&gt; com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(, row:1, col:8) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:251) at com.sap.aii.ib.server.mapping.execution.AbstractMappingTransformer.transform(AbstractMappingTransfor
    Edited by: Amol on May 22, 2009 3:26 PM

    Hi Amol
    for the error CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV
    <Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace> <Trace level="1" type="T">
    just check this Thread issue is solved by restarting  the service verifySenderAgreement
    at thread
    Re: Wrong Sender Agreement
    Thanks
    Abhishek

Maybe you are looking for

  • How to create a Credit Note to the client for purchasing of an Asset last y

    Hi, I have an issue in Asset Accounting as it showed bellow: Assets depreciation start date is 1st October 2007. We have run the depreciation up to November 2007. Than we sold the asset in December. However, after the end closed year 2007, client ret

  • Connecting Laptop to TV using Intel WIDI to watch Sky

    Has anyone connected their laptop using Intel WIDI to a smart TV to watch Sky?I am continually getting an error and it looks like its being blocked by Sky.Using Amazon Prime or IPlayer and Netflix works fine, so i know teh SW and HW are functioning.I

  • Create a JAVA client calling a proxy...

    Hi, I succeed creating a servlet that calls a web service via a "deployable proxy". Is it possible to create a java class (not a servlet or jsp) that connect to this proxy ? Here is a sample of my client class:                InitialContext ic = new

  • Platform migration ebs 11i

    Hi , I have migrated application from solaris 10 to Redhat 5 Linux. Afer migration i have compiled forms for custom tops . I need to know is that I need to compile rdf's for custom top or not ? I can't see any instructions in platform migration notes

  • Berkeley DB Java Edition and Android 0.9

    The steps for using JE with Android have changed with Android 0.9 Beta. The revised HOWTO can be found at: [http://blogs.oracle.com/charlesLamb/2008/09/berkeley_db_java_edition_and_a_1.html|http://blogs.oracle.com/charlesLamb/2008/09/berkeley_db_java