Need to use Xalan in place of Oracle XSLT processor

We are working with Oracle BPEL 10.1.3.3. We have a requirement to use Xalan as the XSLT processor to preserve existing investment into transformation maps built using Contivo (which is certified to work with Xalan).
That said, we are having some trouble getting the Xalan processor to kick in going the java:exec route. For some reason, we end up with Oracle's XSLT processor in spite of asking for the Xalan implementation.
TransformerFactory tFactory = new org.apache.xalan.processor.TransformerFactoryImpl();
Transformer transformer = tFactory.newTransformer(new StreamSource(xslInURI));
System.out.println(tFactory.toString()+transformer.toString());
Strangely enough, the above snippet prints:
[email protected]Transformer@e39f6b
Wondering if anybody else has used Xalan successfully in conjunction with 10.1.3.3 bits. Appreciate your help.

please copy and paste the following in your xpath-functions.xml file
<function id="processXSLT" arity="2">
<classname>com.collaxa.cube.xml.xpath.functions.xml.GetElementFromXSLTFunction</classname>
<property id="namespace-uri">
<value>http://schemas.oracle.com/xpath/extension/xalan/xslt</value>
</property>
<property id="namespace-prefix">
<value>xalan</value>
</property>
</function>
This function would try to find the default transformer factory using
TransformerFactory.newInstance()
so you might need to place the xalan transformer factory properties file in the beginning of your classpath (server.xml ) or pass it as jvm system property like below:
-Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl

Similar Messages

  • Oracle XSLT Processor

    Hi
    I am using oracle XSLT processor. There is a need to print current year in HTMl page.
    I have used year() function in xalan org.apache.xalan.lib.ExsltDatetime class to print curreent year in XSLT file. But it is not displaying anything
    Please anybody can help on this?
    My xslt looks like this
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:cal="http://www.oracle.com/XSL/Transform/java/org.apache.xalan.lib.ExsltDatetime"
    version="1.0">
    <xsl:template match="/">
    Copyright &#169; <xsl:value-of select="cal:year()">
    </xsl:template>
    </xsl:stylesheet>

    So I suppose you're using this from Java ?
    What's the version of the processor?

  • How can I stop the oracle XSLT processor from inserting extra whitespace in HTML?

    How can I stop the oracle XSLT processor from inserting extra whitespace in HTML?

    Use <xsl:output mode="html" indent="no"/> as a top-level element child of your <xsl:stylesheet> element.

  • How to use xsl document() function with LiveCycle XSLT processor

    Hello,
    I would like to use LiveCycle XSLT processor to merge xml documents by using the xsl document() function.
    However, I have not, yet, found  clear reference information on the specifics of how to accomplish in LC. For instance if you have
    a transformation that does merging using a standalone xml editor (such as Oxygen), than what is required to accomplish the same
    using the LiveCycle XSLT service.  How do you specify the URI of the XML document that is specified as an input in the xsl document() function. Your insight is appreciated.   Regards

    Hello Steve,
    I checked the reference that you cited (XSLT Transformation).   The reference omits discussing how to use xlst document() function within a stylesheet.  I think that probably means that feature of xslt technology is not directly available through LiveCycle.  When I find a workaround, I'll post an update...for the user community that might encounter the same issue.  Thank you for your response and insight.  Regards, jb1809

  • FIXED: BUG in Oracle XSLT processor

    Edit: I fixed it by just importing all of the Jdev libraries. My bad for being a dolt.
    I am trying to detect certain values in an XML document that start with $ (the dollar sign) character. This has some conflicts with the syntax for XSL variables. The following code gives an exception when running in the Oracle XSLT...
    <xsl:template name="interpretToken">
    <xsl:param name="token" />
    <xsl:choose>
    <xsl:when test="starts-with($token, '$')" >
    <a><xsl:attribute name="href">
    <xsl:value-of select='replace($token, "\$", "#")' />
    </xsl:attribute>
    <xsl:value-of select='replace($token, "\$", "")' />
    </a>
    </xsl:when>
    </xsl:choose>
    </xsl:template>
    (note that this isn't the best way to write the above code, but replace suffices)
    When I run this in the XSLT of JDev 10.1.3.2, the following stack trace is given:
    Exception in thread "Thread-1" java.lang.NoClassDefFoundError: oracle/i18n/text/OraNormalizer
         at oracle.xml.util.UnicodeUtil.<clinit>(UnicodeUtil.java:35)
         at oracle.xml.xslt.XSLSAXPrintDriver.printAttributes(XSLSAXPrintDriver.java:492)
         at oracle.xml.xslt.XSLSAXPrintDriver.startElement(XSLSAXPrintDriver.java:408)
         at oracle.xml.xslt.XSLEventHandler.reportStartElement(XSLEventHandler.java:267)
         at oracle.xml.xslt.XSLEventHandler.characters(XSLEventHandler.java:863)
         at oracle.xml.xslt.XSLValueOf.processAction(XSLValueOf.java:143)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:181)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:157)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLCallTemplate.processAction(XSLCallTemplate.java:132)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:181)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:157)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLCallTemplate.processAction(XSLCallTemplate.java:132)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:181)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:157)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLStylesheet.execute(XSLStylesheet.java:581)
         at oracle.xml.xslt.XSLStylesheet.execute(XSLStylesheet.java:548)
         at oracle.xml.xslt.XSLProcessor.processXSL(XSLProcessor.java:333)
         at oracle.xml.xslt.XSLProcessor.processXSL(XSLProcessor.java:181)
         at oracle.xml.xslt.XSLProcessor.processXSL(XSLProcessor.java:218)
         at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:121)
         at oracle.xml.async.XSLTransformer.run(XSLTransformer.java:136)
         at java.lang.Thread.run(Thread.java:595)
    No line number in my XSLT is written, but I have isolated it to the above code in the XSL file. This is some bug in the Oracle implementation, because when I run it against Saxon9, it produces output without complaint. Please help me with a work around for detecting the dollar sign and removing it for the output or can I find an oracle xslt patched package.
    Thanks a lot. - astewart / [email protected]
    Message was edited by:
    astewart
    Message was edited by:
    astewart
    Message was edited by:
    astewart

    Hi,
    You have posted to the wrong forum. Try posting to one of the XML forums such as:
    General XML
    Ron

  • Help needed to use only SQR reporting with Oracle 10g

    I have very old SQR reports (ver 2.28) that are still being used by connecting SQR to an Oracle7 DB. We have migrated the data from Ora7 to Oracle 10.2.0.4. The issue is that SQR 2.28 is not able to connect to Oracle 10.2.0.4. Hence I want to use the new version of SQR that is part of OBIEE.
    I am not familiar with OBIEE and my interest is only using the SQR portion of it.
    1. Can any one help me as to how to go about installing SQR portion of OBIEE on a Linux Itanium 64-bit box? My Oracle 10.2.0.4 DB is also running on the same box.
    2. What are the minimum components of OBIEE I need to install to make use of SQR ?
    3. Any other relevant information
    Thanks.

    When installing webgate, make sure the Access Server is running. You will get this error if Access Server is down or not reachable. ( Make sure from the machine where you are installing webgate you can ping to Access Server by Name).
    Thanks
    Ram

  • XSL-FO Stylesheets (Oracle XSLT processor via command line)

    How does one go about editing BIP XSL-FO stylesheets converted from the MSWord plug in by using external tools?
    The converted files have many, many calls to Oracle functions that are unrecognized by the editing tools.
    We are using Stylus Studio and are getting errors on functions calls such as:
    <xsl:variable name="_XDOXSLTCTX" select="xdoxslt:set_xslt_locale($_XDOCTX, $_XDOLOCALE, $_XDOTIMEZONE, $_XDOCALENDAR, concat($_XDODFOVERRIDE,' ',$_XDOCURMASKS,' ',$_XDONFSEPARATORS))"/>
    This is but one example of course. There are many calls in each template and they are quite varied.
    Is there a way to "register" these with the tools so that they can call them (via tnsnames?). Even to having them ignored would be preferable to having the previewer completely fail.
    Scott

    Hi Scott.
    there's a JavaAPI which you can use. So it's not really a command line interface, but perhaps it can fullfill you requirements.
    Regards
    Rainer

  • Why we need to use Oracle B2B???

    Hi All,
    I have to know more about Oracle Fusion B2B.
    But I am not able to understand
    +Why we need to use oracle fusion B2B When we can Directly communicate with EBS & Trading Partner via BPEL & ESB+ .
    Please provide some documents which shows the requirement of B2B along with BPEL & ESB.
    I am not getting any document which talks about necessity of Oracle B2B.

    Yes you can connect via ESB but B2B provides additional functionality out of the box, e.g.
    - message metrics so you can see how many messages are received by partner.
    - It also allows you to mange SLAs with partners
    - Auditing
    - Manage partners
    - You also have the options of Adapters for the different industry standards
    In 11g this becomes alot more seamless integration the current version is still on 10.1.2 so your architecture can look a bit bloated.
    I believe the wait for 11g is not too far way, but Oracle have been saying that for some time.
    http://www.oracle.com/technology/products/integration/b2b/index.html
    cheers
    James

  • What client software do I need to use oracle? I am a student teaching mysel

    Hi, this is probably below eveyrone else but I am a complete novice with oracle and have never used it. But my teacher assigned me to install this on a SLES10 Linux machine and populate its database. My friend is going to help me witht he later but we just barely managed to install the majore database software on saturday adn that to like 8 hours for us. But now I hear we need to install some kind of client software to really use the database we installed. I mean we can type in some kind of address and change settings but what client software do we need? I look for the client but like 20 diffrent versions pop up and I'm not sure what to use. If this helps heres what computer it would be on.
    Laptop, on a Sles 10 Linux OS which is running of of VirtualBox. We downloaded and installled the latest oracle database software. 11. So now what?
    Please if you reply email me at
    [email protected]

    Hi ,
    What sort of student you are ? I meant.. are you going to study DB administration or Development.?
    IF DB Admin, you can use the sqlplus commmand line tool to study administration or the Enterprise manager database control provided with oracle. You can configure that.
    If for development, you can use the free tool from oracle -> sql developer or you can use thrid party tools like toad...
    HTH
    Mahesh.

  • What is the use of SYSAUX Tablespace in Oracle 10G

    Dear Experts,
    Please Tell me What is the use of SYSAUX Tablespace in Oracle 10G Because
    during Web Load Testing It is going to increase countinuosly.Although i am not using this with any tables.
    How Can I find out the what is gong on in this.
    Can I Remove this tablesspace and other non using Schemas like FLOWS_020100,MDSYS,OUTLN,DIP and TSMSYS etc.

    What is SYSAUX?
    The SYSAUX tablespace provides storage of non-sys-related tables and indexes that traditionally were placed in the SYSTEM tablespace. For example, the tables and indexes that were previously owned by the system user can now be specified for a SYSAUX tablespace. Unfortunately, Oracle still places the SCOTT schema and the other demonstration schemas in the SYSTEM tablespace. Go figure.
    The SYSAUX tablespace is specified with the CREATE DATABASE command. This is demonstrated in the example database creation script in Figure 1.1.
    CREATE DATABASE test
    MAXINSTANCES 1
    MAXLOGHISTORY 1
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    DATAFILE '/usr/oracle/OraHome1/oradata/aultdb1/test/system01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
    EXTENT MANAGEMENT LOCAL
    SYSAUX DATAFILE '/usr/oracle/OraHome1/oradata/aultdb1/test/sysaux01.dbf' SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
    DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/usr/oracle/OraHome1/oradata/aultdb1/test/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
    UNDO TABLESPACE "UNDOTBS1" DATAFILE '/usr/oracle/OraHome1/oradata/aultdb1/test/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
    CHARACTER SET WE8ISO8859P1
    NATIONAL CHARACTER SET AL16UTF16
    LOGFILE GROUP 1 ('/usr/oracle/OraHome1/oradata/aultdb1/test/redo01.log') SIZE 10240K,
    GROUP 2 ('/usr/oracle/OraHome1/oradata/aultdb1/test/redo02.log') SIZE 10240K,
    GROUP 3 ('/usr/oracle/OraHome1/oradata/aultdb1/test/redo03.log') SIZE 10240K
    USER SYS IDENTIFIED BY "password" USER SYSTEM IDENTIFIED BY "password";
    Oracle10g sysaux
    With the new SYSAUX tablespace, Oracle comes closer to providing all the needed tablespaces for a truly OFA-compliant database right out of the box. With just one CREATE DATABASE command we can specify the SYSTEM tablespace, the TEMPORARY tablespace, the AUXSYS tablespace, the default UNDO tablespace, and the redo logs.
    Of course, with the Oracle Managed Files option you can create an entire database with a single command, but the database created is not suitable for production use and is not OFA-compliant.
    The SYSAUX tablespace is required in all new 10g databases. Only the SYSAUX tablespace datafile location is specified. Oracle specifies the remainder of the tablespace properties including:
    online
    permanent
    read write
    extent managment local
    segment space management auto
    If a datafile is specified for the SYSTEM tablespace, then one must be specified for the SYSAUX tablespace as well. If one is not specified, then the CREATE DATABASE command will fail. The only exception is for an Oracle Managed File system.
    During any update of a database to Oracle Database 10g, a SYSAUX tablespace must be created or the upgrade will fail. The SYSAUX tablespace has the same security profile as the SYSTEM tablespace. However, loss of the SYSAUX tablespace will not result in a database crash, only the functional loss of the schemas it contains.
    Can I drop SysAux?
    DROP DATAFILE
    Read this...

  • Extending LOV that is used in multiple places

    Hi,
    I am planning to extend organization VO in iRecruitment (vacancy creation) to restrict the LOV based on organization type. This LOV is very common and is using in multiple places in he application.
    I am new to this and i need to know that by extending such kind of LOV, will the affect appear on the whole application where this LOV is using or only at particular place ???
    Regards
    Ayaz

    Anoop,
    Responsibility : Recruiter Home
    Function : Vacancy Creation / Vacancy Search
    Page : /oracle/apps/irc/vacancy/webui/VacSrchPG.VacancySearchQuery.IRC_ORGANIZATIONS_LOV
    VO Name : oracle.apps.irc.lov.server.OrganizationsLovVO
    Is it possible to extend the VO so that it will affect on vacancy search page ONLY as i want to restrict the search on the basis of login in user organization id only.
    But while creating this will work as it is.
    Regards
    Ayaz

  • Java.lang.thread exception while using Xalan 2.0 in WLS 6.0

    Hi, I'm trying to use Xalan 2.0 in a servlet hosted by WLS. Ive
    modified Xalan's SimpleTransform sample to be a servlet. I
    create a Transformer with the .xsl, then call tranform() to
    print the tranformed xml to the response stream. The xml is
    tranformed correctly, but it throws a java.lang.thread
    exception. The standalone Xalan sample doesn't do this. Anyone
    else seen this problem?
    Here's the code of interestest, I apologize if its not formatted very well:
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
         PrintWriter out = res.getWriter();
         res.setContentType("text/html");
         out.println("<html><head><title>XalanTest<title></head>");
         out.println("<body><h1>XalanTest</h1>");
         try{
         TransformerFactory tFactory = TransformerFactory.newInstance();
         StreamSource ss = new StreamSource("file:\\\\My-path\\birds.xsl");
         Transformer transformer = tFactory.newTransformer(ss);
         StreamResult SR = new StreamResult(out);
         transformer.transform(new StreamSource("file:\\\\My-path\\birds.xml"), SR );
         catch(Exception e){
         out.println("<p>" + e.toString() + "</p>");
         e.printStackTrace(out);
         out.println("<p>Exception</p>");
              out.println("</body></html>");

    It also looks like the workaround suggested does not work.
    I put the following code as workaround:
         response.setContentType("text/html");
         response.setHeader ("Pragma", "no-cache");
         Transformer transformer;
         TransformerFactory factory = TransformerFactory.newInstance();
         String stylesheet = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xsl";
         String sourceId = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xml";
         String outputFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.html";
         String outputDirectFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2_Direct.html";
         try
              PrintWriter fout = new PrintWriter (new FileOutputStream (outputFile));
              OutputStream os = new ByteArrayOutputStream();
              transformer = factory.newTransformer(new StreamSource(stylesheet));
              transformer.transform(new StreamSource(sourceId), new StreamResult(outputDirectFile));
              transformer.transform(new StreamSource(sourceId), new StreamResult(os));
              os.flush ();
              os.close();
              out.print(os.toString());
              fout.print (os.toString ());
              fout.flush ();
              fout.close ();
         catch (Exception e)
              // Error Handler
         e.printStackTrace();
    The two .html files produced look exactly the same, which is good.
    However, the screen output to my html browser (Internet Explorer 5.50 sp1) produces
    different output.
    That is strange, but that shows that this bug does not have a known workaround
    "Rabinowitz" <[email protected]> wrote:
    >
    I have the same problem with java sun xml parser (jaxp 1-1)
    It is interesting to know that all this perfectly works under weblogic
    5.1, so
    I cannot migrate my application to 6.0
    So, the functionality of weblogic 6.0 degraded since 5.1.
    I cannot buy the explanation that that is not bea's fault, because it
    perfectly
    worked with the same version of xml parser.
    Now, their customer support is saying they have not decided whether this
    is a
    bug or a feature.
    Interesting to know that degradation of functionality could be a feature!
    It is now June 21, 3 months since this bug was reported, sp2 was shipped
    since
    that time, and this bug is still there.
    "Chuck H. Zhao" <[email protected]> wrote:
    I am having the exact same problem you are having. If we analyze the
    stack
    trace:
    javax.xml.transform.TransformerException: java.lang.Thread
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1212)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    java.lang.ClassCastException: java.lang.Thread
    at
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273)
    at
    weblogic.servlet.internal.ServletResponseImpl.setDateHeader(ServletResponseI
    mpl.java:449)
    at
    weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseIm
    pl.java:637)
    at
    weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
    mpl.java:124)
    at
    weblogic.servlet.internal.WLOutputStreamWriter.flush(WLOutputStreamWriter.ja
    va:124)
    at java.io.PrintWriter.flush(PrintWriter.java:120)
    at
    org.apache.xalan.serialize.SerializerToXML.flushWriter(SerializerToXML.java:
    1431)
    at
    org.apache.xalan.serialize.SerializerToXML.endDocument(SerializerToXML.java:
    629)
    at
    org.apache.xalan.transformer.ResultTreeHandler.endDocument(ResultTreeHandler
    ..java:180)
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1194)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    What happened is: to support incremental output, Xalan-Java performs
    the
    transformation in a second thread while building the source tree inthe
    main
    thread. So Transformer.transform() creates a new thread to run the
    transformer.run() method, which will write to weblogic's internal
    ServletOutputStreamImpl, and in the end calls flush() on it.
    ServletOutputStreamImpl determines that the headers haven't been written
    yet, and the headers need to be written before any servlet output, so
    it
    calls ServletResponseImpl.writeHeaders(), which eventually calls
    ResponseHeaders.setDateHeader(). The last method assumes the thread
    is
    weblogic's internal ExecuteThread and tries to cast the thread as such,
    maybe to get the date from it. But the thread is a plain java.lang.Thread
    created by xalan, thus we get the java.lang.ClassCastException:
    java.lang.Thread
    This suggests a second workaround: call ServletResponse.flushBuffer()
    before any xalan stuff, which will force the headers to be written in
    weblogic's ExecuteThread. The shortcoming of this is that this will
    cause
    the response to be commited, and if the xalan stuff throws exception
    you can
    not forward to another page.
    Another thing is that xalan should not directly call flush() on
    ServletOutputStreamImpl at all. I will report it to xalan and see if
    they
    consider that a bug. If they fix that then we have a third workaround:
    set
    the buffer size of ServletResponse big enough to accomodate everything
    including the xslt outputs, so the ServletOutput does not need to be
    flushed
    during xalan code.
    I do not consider this problem a weblogic bug, since the servlet container
    has to right to expect any thread inside it to be its own. Serlvet2.2
    spec
    says:
    1.2 What is a Servlet Container?
    A Servlet Container may place security restrictions on the environment
    that
    a servlet executes in. In
    a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise
    Edition 1.2 (J2EE)
    environment, these restrictions should be placed using the permission
    architecture defined by Java 2
    Platform. For example, high end application servers may limit certain
    action, such as the creation of
    a Thread object, to insure that other components of the container are
    not
    negatively impacted.
    Weblogic should explicitly warn the developers that creating threads
    inside
    the servlet container may have adverse effects, the same kind of problem
    we
    are having. (or maybe they already did somewhere in their documentation?)
    On the xalan side, I would suggest them to either give the option to
    switch
    the two threads, or to give the option to buffer the output and write
    it out
    in the main thread, which is exactly what you did in your first workaround.
    Any comments or thoughts on the subject are welcome.
    -- Chuck Zhao
    "MK Parini" <[email protected]> wrote in message
    news:[email protected]...
    I found, what I think to be a bug, and a work-around for it.
    When doing an XSLT Transformation, you must specify a StreamResult
    to which to write the output. I was doing my transformation in
    a
    servlet so I was writing my output to the HttpResponse
    (The variable res is a javax.servlet.http.HttpServletResponse
    object)
    StreamResult htmlTarget = new StreamResult(res.getWriter());
    If I use this, when I perform the transformation using the TRAX
    APIs,
    InputStream xslFile = context.getResourceAsStream(fileName);
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Templates xslTemplates = tFactory.newTemplates(new StreamSource(xslFile));
    transformer = xslTemplates.newTransformer();
    transformer.transform(xmlSource, htmlTarget);
    I receive the ClassCastException from the class
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273),
    as seen in my previous posting.
    I discovered, if I write my output to a StringBuffer, and then
    I write
    the StringBuffer to the HttpResponse, I do not get the ClassCastException.
    For example,
    StringWriter myWriter = new StringWriter(2400);
    StreamResult htmlTarget = new StreamResult(myWriter);
    <Same transformation code as above>
    myWriter.close();
    PrintWriter out = res.getWriter();
    out.print(myWriter.toString());
    Is this a bug in the weblogic internal servlet class or am I just
    missing something?
    Also, one concern that I have with the workaround is that it might
    hurt performance.
    Any comments or thoughts on the subject are welcome.

  • How do I go back to Firefox 5.0? I need to use Selenium IDE, which is not yet compatible with 6.0.

    How do I go back to Firefox 5.0? I need to use Selenium IDE, which is not yet compatible with 6.0.

    The link is to the latest update to 4.o which was 4.0.1
    The 4.0.1 and 5.0 are two separate versions as installing 4.0.1 over 5.0 will just give you the old 4.0.1 as the end result.
    The 5.0 is partially as a security update in place of 4.0.2.
    The Skype extension was only for to make it so you can dial phone numbers on a web page in the separate Skype program right so if you were not using it then no need for the Skype extension for the separate Skype application to work.

  • XML Publisher Report Fails While using Pivot Table in R12 Oracle EBS

    Hello All,
    Need your help. I am trying to create a report with a Pivot table. I have created the .rtf file using the Oracle BI Publisher Template Builder for word 10.1.3.4.1. the data comes correctly in preview but when i register it in EBS and run the concurrent program it competes in warning and no output is displayed.
    The error message looks like as follows.
    [9/3/10 4:03:17 PM] [19934:RT444621] Executing post-processing actions for request 444621.
    [9/3/10 4:03:17 PM] [19934:RT444621] Starting XML Publisher post-processing action.
    [9/3/10 4:03:17 PM] [19934:RT444621]
    Template code: XXECOHCGEN
    Template app: XXECO
    Language: en
    Territory: 00
    Output type: EXCEL
    [9/3/10 4:03:31 PM] [19934:RT444621] Output file was found but is zero sized - Deleted
    [9/3/10 4:03:31 PM] [UNEXPECTED] [19934:RT444621] java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
         at java.lang.reflect.Method.invoke(Method.java:599)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeNewXSLStylesheet(XSLT10gR1.java:611)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:239)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:182)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
         at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
         at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:302)
         at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:176)
    Caused by: oracle.xdo.parser.v2.XPathException: Namespace prefix 'crosstab' used but not declared.
         at oracle.xdo.parser.v2.XSLProcessor.reportException(XSLProcessor.java:806)
         at oracle.xdo.parser.v2.XSLProcessor.newXSLStylesheet(XSLProcessor.java:571)
         ... 17 more
    would appreciate some pointers to fix this issue.
    Regards,
    Abhijeet K
    Edited by: Abhijeet K on Sep 3, 2010 8:10 AM

    HI, was there a Solution Ever found for this post other than the Workaround.
    I am at the Same issue now, Any Valuable inputs will Help me finish my Report ASAP, becos currently this is my only Show stopper
    we have Oracle Apps R12 realease 12.1.3  we use XMLpublisher built in R12
    The issue i have is .
    I created a XMLPublisher Report using PIVOT TABLE i would like to have my output to be in Excel, When i Preview it works fine, when i execute via Concurrent Program it gives the Following Log file
    XXTPC Custom Application: Version : UNKNOWN
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    TPC_ITEM_COUNT_RPT module: TPC ITEM COUNT RPT
    Current system time is 25-JUN-2012 11:00:39
    XDO Data Engine Version No: 5.6.3
    Resp: 21676
    Org ID : 101
    Request ID: 2149483
    All Parameters: report_name=RUN BY ORDER TYPE:org_name=HQF:org_choice=TPC US:item_selection=1001:order_type=k-us:pstatus=entered,waved,notwaved,shipped:transit_days=:first_receipt_date=01-jun-2012:last_receipt_date=22-jun-2012
    Data Template Code: TPC_ITEM_COUNT_RPT
    Data Template Application Short Name: XXTPC
    Debug Flag: N
    {first_receipt_date=01-jun-2012, org_choice=TPC US, item_selection=1001, report_name=RUN BY ORDER TYPE, pstatus=entered,waved,notwaved,shipped, org_name=HQF, last_receipt_date=22-jun-2012, order_type=k-us, transit_days=}
    Calling XDO Data Engine...
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Executing request completion options...
    Output file size:
    29148
    ------------- 1) PUBLISH -------------
    Beginning post-processing of request 2149483 on node HQTERPAS1LX at 25-JUN-2012 11:00:51.
    Post-processing of request 2149483 failed at 25-JUN-2012 11:00:52 with the error message:
    One or more post-processing actions failed. Consult the OPP service log for details.
    ------------- 2) PRINT   -------------
    Not printing the output of this request because post-processing failed.
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 25-JUN-2012 11:00:52
    I have requested my DBA to get me the OPP file..
    Thanks in advance for any solution.

  • How to use JavaMail 1.4 with Oracle Application Server 10g (9.0.4.0.0)

    Hi all,
    I'd like to know if it's possible and how to use JavaMail 1.4 with Oracle Application Server 10g (9.0.4.0.0), Windows version.
    With the following code, I can see that the mail.jar used by the server is the one included in the jdk installation :
    // I'm testing InternetAddress.class because I want to use commons-email-1.2.jar that requires mail.jar 1.4 (or higher) and activation.jar 1.1 (or higher)
    // and I know that inside the commons-email-1.2.jar file, I need to call the InternetAddress.validate() method that throws a java.lang.NoSuchMethodError: javax.mail.internet.InternetAddress.validate()V if it is used with mail.jar 1.2.
    Class cls = javax.mail.internet.InternetAddress.class;
    java.security.ProtectionDomain pDomain = cls.getProtectionDomain();
    java.security.CodeSource cSource = pDomain.getCodeSource();
    java.net.URL location = cSource.getLocation();
    System.out.println(location.toString());
    This code returns : file:/C:/oracle/app/jdk/jre/lib/ext/mail.jar and this mail.jar file has an implementation version number: 1.2
    - I've tried to include my own mail.jar (1.4.2) and activation.jar (1.1.1) files in the war file that I deploy, but it doesn't work (the server still uses the same mail.jar 1.2)
    - I've tried to put the mail.jar (1.4.2) and activation.jar (1.1.1) files in the applib directory of my OC4J instance, but it doesn't work (the server still uses the same mail.jar 1.2)
    - I know that a patch exists : I've read the following document: How to Make Libraries such as mail.jar and activation.jar Swappable ? [ID 552432.1]
    This article talks about the Patch 6514136, but this patch only applies to : Oracle Containers for J2EE - Version: 10.1.3.3.0
    Can you please help me ?
    Thanks in advance for your answers,
    Laurent

    I strongly suggest to upgrade to AS 10.1.3 to get this.
    Think of future support of AS 9.0.4. You will get not critical patch updates anymore.
    --olaf                                                                                                                                                                                                                                                                                                               

Maybe you are looking for