XSQL/XML/XSL Portlet

How can I use XSQL in Oracle Portal, for different display types? All examples use the old fashioned JSPs or Servlets. We are willing to use XML/XSL technology, but we do not know how to satisfy the requirements for different display types while using these technologies. Where can we find examples utilizing XSQL/XML/XSL technologies? Or does Oracle keep these technologies apart from the portal technology?

I have already written application in XSQL and XSLT.I want to convert it into oracle portlet.I tried to use URL portlet.Using URL portlet The links are converted to javascript:submitURL2166(' http://servername/root/filename.xsql') and working fine but there are few javascripts call also on the page which are getting converted like this :
"javascript:submitURL2166('javascript:popupwindow2("filename.xsql",123,0);')"
and when I click on those links I get following ERROR trace in logs
ERROR: Failed to handle HTTP Request
oracle.portal.provider.v2.security.AccessControlException: unknown protocol: javascript
at oracle.portal.utils.v2.ContainerException.fillInStackTrace(Unknown Source)
at java.lang.Throwable.<init>(Throwable.java:195)
at java.lang.Exception.<init>(Exception.java:41)
at oracle.portal.utils.v2.ContainerException.<init>(Unknown Source)
at oracle.portal.provider.v2.PortletException.<init>(Unknown Source)
at oracle.portal.provider.v2.security.AccessControlException .<init>(Unknown Source)
at oracle.portal.provider.v2.render.http.URLRenderer.renderBody(Unknown Source)
at oracle.portal.provider.v2.render.RenderManager.render(Unknown Source)
at oracle.portal.provider.v2.DefaultPortletInstance.render(Unknown Source)
at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showPortlet(Unknown Source)
at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp (Unknown Source)
at sun.reflect.GeneratedMethodAccessor226.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke (Method.java:324)
at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source)
at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:782)
at com.evermind[Oracle Application Server Containers for J2EE 10g ( 9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.processRequest( HttpRequestHandler.java:794)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
at com.evermind[Oracle Application Server Containers for J2EE 10g ( 9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
at com.evermind[Oracle Application Server Containers for J2E
I want to know how these javascripts call can be handled while using url portlets or there is any other way to convert xsql and xslt application in oracle portlet .
I will have to use
<inlineRendering>true</inlineRendering>
in provider.xml because I want to get contents in same portlet.
Below is my provider.xml
<provider class="oracle.portal.provider.v2.http.URLProviderDefinition">
<providerInstanceClass>oracle.portal.provider.v2.http.URLProviderInstance</providerInstanceClass>
   <session>true</session>
   <passAllUrlParams>true</passAllUrlParams>
    <portlet class="oracle.portal.provider.v2.http.URLPortletDefinition">
      <id>2</id>
      <name>XsqlPortletURL</name>
      <title>XsqlPortletURL</title>
      <description>Portlet Description</description>
      <timeout>100</timeout>
      <showEditToPublic>false</showEditToPublic>
      <hasAbout>false</hasAbout>
      <showEdit>false</showEdit>
      <hasHelp>false</hasHelp>
      <showEditDefault>false</showEditDefault>
      <showDetails>false</showDetails>
      <renderer class="oracle.portal.provider.v2.render.RenderManager">
         <showPage class="oracle.portal.provider.v2.render.http.URLRenderer">
         <contentType>text/html</contentType>
         <pageUrl>http://servername/Root/file_name.xsql?cus_id=306826</pageUrl>
         <filter class="oracle.portal.provider.v2.render.HtmlFilter ">
          <inlineRendering>true</inlineRendering>
         <headerTrimTag><body</headerTrimTag>
         <footerTrimTag>/BODY></footerTrimTag>
         </filter>
         </showPage>
       </renderer>
   </portlet>
</provider>
Any help will be greatly appreciated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • Performance xsql:xml-include vs. xsl:document(...)  !

    Dear Steve,
    I have html markup file stored in XHTML format which is, of
    course, XML. Also, I put <marker id="some_name"/> in all places
    where I want XSLT injections.
    My XSLT is something like this:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="yes"/>
    <xsl:variable name="markup" select="document('MyMarkup.xml',/)"/>
    <xsl:template match="@* | node()">
    <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
    </xsl:template>
    <xsl:template match="/">
    <xsl:for-each select="$markup">
    <xsl:apply-templates select="html"/>
    </xsl:for-each>
    </xsl:template>
    <xsl:template match="html">
    <xsl:copy>
    <xsl:copy-of select="@*"/>
    <xsl:apply-templates/>
    </xsl:copy>
    </xsl:template>
    <xsl:template match="markup[@id='script']">
    <!-- do something here -->
    </xsl:template>
    </xsl:stylesheet>
    Now, here is the question. What is most efficient way to use
    this Markup technique?
    Is it <xsql:include-xml href=MyMarkup.xml/> in XSQL page
    and XSL processing the composite document or xsl:document
    function as I described?
    What is cached by XSQL servlet, if anything?
    The "markup" technique provides clear separation of labor and
    layers.
    And it is crucial to have it perform well. I think, that it
    would be very easy to cache xsql:include-xml document once and
    for all sessions or have a special attribute in this tag to
    explicitly ask for this.
    Sincerely,
    David

    ( I can't use
    <xml:transform>
    because this expects the xsl file as a parameter )But you know the name of the xsl file, so that shouldn't be a problem, correct...?
    But as to your question, the xml file is a static file, so the jsp:include will copy its contents (it acts like <%@ import %> in this case...). The jsp will only process the page if it detects it as a dynamic page, ie Servlet or JSP.
    Perhaps you can make an intermediary JSP that transforms the xml... I have never tried it, but would:
    //Intermediary JSP:
    <jsp:forward page="./stocks2.xml" />
    //then in the primary JSP
    <jsp:include page="./intermediary.jsp"/>It might fool the jsp:include into thinking the content is dynamic, while the jsp:forward would take care of processing the XML. That assumes that once the jsp:forward is done that the rest of the primary jsp will be handled... not sure if that is the case though...

  • XML Source Portlet: Setup Error Cannot Edit Portlet

    Hello,
    I've just run through, twice, the migration wizard to import the ptxmlsp.pte file. This setup completes and I find the XML Source Portlet Folder with its webservice, remote server, and Portlet Template. Following the AminstratorsGuide_XMLSourcePortlet.pdf when I try to create a portlet I get a 404 error when I click the edit button trying to configure this portlet.
    The server is running IIS 6 and Tomcat 4.1.30.
    This is what I'm seeing from ptspy when I click the edit button:
    Any assistance would be appreciated.
    John
    [email protected]
    This turned out to be a setup error due to both IIS and Tomcat running on the same server an update to the remote server's base url needed to be changed to port 8080.

    We're on 5.0.2. I'm looking to pull an XML file off the web and write an XSL file to display it. I've been able to get it to work with the following test example:
    http://www.w3schools.com/xml/simple.xmlhttp://www.w3schools.com/xml/simple.xslWhenever I use something more complex, then I get an "Error: Could not transform XML data. Contact your administrator." Xalan.jar is in the right location. Since I can get the more complex files to work from the command line, and a simple web based translation to occur, it's a bit confusing...
    Xalan.jar is in the correct location. Should I double-check any environment variables?
    By the way, will this portlet work for .rss files as well?
    Thanks!

  • Anyone working with XML in portlets? How?

    Do you work with XML/XSL in a JSP Portlet to build your presentation?
    We are having trouble with german Umlauts and want to know a way for XML in portlets in general.
    Thomas

    Hallo Ingo !
    We use the Oracle XML Parser and XSL transformer in a JSP Portlet. The XML is referenced throu a URL from our XML server.
    The XSL file is in the portlet directory.
    Our Problem is:
    Even if we use encoding attributes set to UTF-8 we are not able to display Umlauts correctly. They are not encoded to HTML Umlauts (e.g. &#252; to &uuml;).
    We tested our code with Apache Xalan and Xerces and everything works fine.
    I think that Oracle XML parser treats things not as they are recommended by W3C.
    Finally we gave up parsing XML with oracle Parser and now use Apache XML/XSL Parsers.
    Or do you know a better way?
    Thomas

  • Weaknesses I've come across in the Oracle XML/XSL implementation

    Weaknesses I've come across in the Oracle XML/XSL implementation
    NOTE: I think Oracle is a fantastic database and the XML implementation is lovely to use - also I know these are not limited to XE and also that some are fixed in 11g enterprise however I'm not sure if all are so I am posting here in the hope that Oracle will include fixes for all if any have been missed
    1. getclobval() returns a spurious carriage return on end of the value returned
    2. extract does not handle mixed content tags well (for example it simply discards tags that only have whitespace between them
    3. XSL: using a xsl:number level="multiple" with anything beyond a simple count= xpath value crashes the database completely
    4. XSL: insists on pretty printing output XML which is extremely odd behaviour and causes problems when dealing with mixed content

    Another weakness I've seen is with the appendchildxml function and mixed content xml - it appears to likewise pretty print XML causing the injection of carriage returns and whitespace into mixed content nodes

  • SharePoint 2010 Error while executing web part: System.Xml.Xsl.XslLoadException: XSLT compile error.

    Hello,
    I currently having a series of errors (18 issues) that are occurring under the below Correlation ID ad1a22f5-1ddb-4fa5-8487-143cb6fd0f9d
    I have listed (3) that are in the Web Parts category, this error/issue is causing several timed job to no longer work properly I have been trying to find the root cause for about a week now. If anyone has encountered a issue
    such as this one I'm open for suggestions.     
    (1)
    Error while executing web part: System.Xml.Xsl.XslLoadException: XSLT compile error. An error occurred at (1,475). ---> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
    ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.     at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest
    asyncRequest, Exception exception)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
    AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
    AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
    AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult
    lazyResult)     at System.Threading.ExecutionContext.runTryCode(Object userData)     at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)    
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)     at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)     at System.Net.TlsStream.Write(Byte[]
    buffer, Int32 offset, Int32 size)     at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)     at System.Net.ConnectStream.WriteHeaders(Boolean async)     --- End of inner exception
    stack trace ---     at System.Net.HttpWebRequest.GetResponse()     at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials)     at System.Xml.XmlUrlResolver.GetEntity(Uri
    absoluteUri, String role, Type ofObjectToReturn)     at Microsoft.SharePoint.WebPartPages.WSSXmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)     at System.Xml.Xsl.Xslt.XsltLoader.CreateReader(Uri
    uri, XmlResolver xmlResolver)     at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(Uri uri, Boolean include)     at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader reader, Boolean include)    
    --- End of inner exception stack trace ---     at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader reader, Boolean include)     at System.Xml.Xsl.Xslt.XsltLoader.Load(Compiler compiler, Object stylesheet, XmlResolver
    xmlResolver)     at System.Xml.Xsl.Xslt.Compiler.Compile(Object stylesheet, XmlResolver xmlResolver, QilExpression& qil)     at System.Xml.Xsl.XslCompiledTransform.CompileXsltToQil(Object stylesheet, XsltSettings
    settings, XmlResolver stylesheetResolver)     at System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)     at System.Xml.Xsl.XslCompiledTransform.Load(XmlReader
    stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)     at Microsoft.SharePoint.WebPartPages.DataFormWebPart.LoadXslCompiledTransform(WSSXmlUrlResolver someXmlResolver)     at Microsoft.SharePoint.WebPartPages.DataFormWebPart.GetXslCompiledTransform()    
    at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)
    (2)
    InnerException 1: System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according
    to the validation procedure.     at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[]
    buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[]
    buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[]
    buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ForceAuthentication(Boolean
    receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)     at System.Threading.ExecutionContext.runTryCode(Object userData)    
    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback,
    Object state)     at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)     at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)     at System.Net.PooledStream.Write(Byte[]
    buffer, Int32 offset, Int32 size)     at System.Net.ConnectStream.WriteHeaders(Boolean async)     --- End of inner exception stack trace ---     at System.Net.HttpWebRequest.GetResponse()    
    at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials)     at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)     at Microsoft.SharePoint.WebPartPages.WSSXmlUrlResolver.GetEntity(Uri
    absoluteUri, String role, Type ofObjectToReturn)     at System.Xml.Xsl.Xslt.XsltLoader.CreateReader(Uri uri, XmlResolver xmlResolver)     at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(Uri uri, Boolean include)    
    at System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader reader, Boolean include)
    (3)
    InnerException 2: System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.     at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest
    asyncRequest, Exception exception)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
    AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
    AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
    AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)     at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult
    lazyResult)     at System.Threading.ExecutionContext.runTryCode(Object userData)     at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)    
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)     at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)     at System.Net.TlsStream.Write(Byte[]
    buffer, Int32 offset, Int32 size)     at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)     at System.Net.ConnectStream.WriteHeaders(Boolean async)

    Hello,
    It seems that issue is related to certificate. Could you please upload certificate to central admin and make it trust.
    Just try this and see the result:
    http://social.technet.microsoft.com/Forums/en-US/cbc58585-1673-4c91-b8c1-1b95c339bbb7/could-not-establish-trust-relationship-for-the-ssltls-secure-channel?forum=fastsharepoint
    http://social.msdn.microsoft.com/Forums/en-US/7a7e56ba-6e95-4a84-9384-791818cce89d/the-underlying-connection-was-closed-could-not-establish-trust-relationship-for-the-ssltls-secure?forum=sharepointdevelopmentprevious
    http://www.infotext.com/help/sharepoint-could-not-estabilish-trust-relationship-for-the-ssltls-secure-channel-when-crawling-ssl-enabled-websites/
    If still face the issue then tell us more about your webparts and also confirm if you are facing same problem to other page and site.
    Hemendra:Yesterday is just a memory,Tomorrow we may never see
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

  • UPK Template Customization (XML/XSL)

    Hi all,
    I've created a content in Oracle UPK 11.1.0 developers edition. My concern here is that, during string input of data for e.g., Enter the approriate month, for instance October*. Help text will appear in See It!, Try It! and Know It!, but in Do It! mode the same available instruction will be displayed. What I want in this case, in Do It! mode I need to insert generic text rather than template text. Hence, I want to edit this in Template.xml, associated with two additional xlst files in the Library > Systems > Templates > en > Microsoft - English > Template.xml. Is it possible to edit the xml and xlst and implement the above said. Please let me know, if you require any additional information.
    Thanks,
    Gopivista

    I'm not trying to be difficult...I'm explaining my problem as best as I know how. I didn't realize that alban was asking for input...frankly I didn't understand his "ISP happy you're not using much bandwidth" comments and while I realize a more experienced person probably would have known he wanted input, I didn't and I would have gladly provided it if the request had been explicit. Perhaps this isn't the place for me to ask a question as someone not well versed in xml/xsl but I have provided the input below in case this might help someone help me.
    1 - java code executes sql query
    2 - sql query returns resultSet to java code (see below resultSet)
    3 - java code passes resultSet to xsl template file that I included in my initial post
    ClientAccountNumber     COB_DATE_D     NetQuantity
    1111222     20061108     1
    1111222     20061108     2
    1111222     20061108     10
    1111222     20061108     10
    1111222     20061108     2
    1111222     20061108     2
    1111222     20061108     2
    1111222     20061108     2
    1111222     20061108     1
    1111222     20061108     1
    1111222     20061108     8
    1111222     20061108     7
    1111222     20061108     5
    1111222     20061108     3
    1111222     20061108     2
    1111222     20061108     1
    1111222     20061108     14
    1111222     20061108     1
    1111222     20061108     2
    Message was edited by:
    tech_isis
    Message was edited by:
    tech_isis
    Message was edited by:
    tech_isis

  • XML, XSL - HTML(JSP), bad UTF-8 encoding on Tomcat

    I use simple transformation to create HTML (JSP) page from XML, XSL (both are encoded in UTF-8}. When doing this in embedded web server in JD9i developer, the result is fine. But when run at Tomcat 4.0.3, UTF-8 chars are displayed as 2 characters. It's interesting that the transformation gives different results:
    - in JD9i the UTF-8 chars are left unchanged and shown good in IE browser
    - in Tomcat the chars with acute (/) are transformed into "&iacute;" , "&aacute;" and so on and shown properly, whereas chars with caron (V) are encoded and shown badly.
    Does somebody know solution to this ? Thanks.

    Doing some more experiments reveals a subtle difference between GET and POST with Tomcat - it may apply to other application servers, but I have only tested with Tomcat 5 and Tomcat 6, so I can't say.
    The following is essentially what most people have indicated you need to do to have your JSP handle UTF-8:
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>My Title</title>
    </head>
    <body>
    </body>
    </html>This is what I couldn't get working with my GET (the default for forms) and ended up working when I specified the URIEncoding for the connector in the server.xml file.
    It turns out that the above will work with no modifications to the server.xml file if the form method is POST. If you need to be able use GETs then you will need to modify the connector, otherwise it would seem nothing you do at the JSP or servlet level will make a difference, unless you want to convert each parameter manually:
      String parameter = new String( request.getParameter("myParam").getBytes("ISO-8859-1"), "UTF-8" );Edited by: ajmasx on Sep 27, 2007 10:20 AM

  • Converting xml/xsl to pdf

    Hi,
    I am using apache's FOP 0.20.3, xerces 2.0.0.beta4 and xalan j.2.2.0 to convert xml/xsl file to pdf. The code is same as the one given in the org.apache.fop.apps.Driver class.
    <pre>
         Driver driver = new Driver();
         driver.setRenderer(Driver.RENDER_PDF);
         InputHandler inputHandler = new XSLTInputHandler(new File(xmlFile), new File(xslFile));
         try
              XMLReader parser = inputHandler.getParser();
              driver.setOutputStream(new FileOutputStream(outFile));
              driver.render(parser, inputHandler.getInputSource());
         catch (FOPException fope)
              fope.printStackTrace();
         catch (FileNotFoundException fnfe)
              fnfe.printStackTrace();
    </pre>
    The xml and xsl files I am using are glossary.xml and glossary.xsl files that come with FOP.
    Now, this code compiles successfully and while running gives the following exception:
    <pre>
    [ERROR]: Logger not set
    [INFO]: building formatting object tree
    [INFO]: [1]
    org.apache.fop.apps.FOPException: java.lang.NullPointerException
         at org.apache.fop.apps.Driver.render(Driver.java:486)
         at XmlToPdf2.<init>(XmlToPdf2.java:28)
         at XmlToPdf2.main(XmlToPdf2.java:42)
    java.lang.RuntimeException: java.lang.NullPointerException
         at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1132)
         at org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
         at org.apache.fop.apps.Driver.render(Driver.java:481)
         at XmlToPdf2.<init>(XmlToPdf2.java:28)
         at XmlToPdf2.main(XmlToPdf2.java:42)
    java.lang.RuntimeException: java.lang.NullPointerException
         at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3170)
         at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:433)
         at org.apache.xerces.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:629)
         at org.apache.xerces.impl.XMLNamespaceBinder.endDocument(XMLNamespaceBinder.java:702)
         at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument(XMLDTDValidator.java:974)
         at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScannerImpl.java:445)
         at org.apache.xerces.impl.XMLEntityManager.endEntity(XMLEntityManager.java:1123)
         at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityManager.java:3078)
         at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces(XMLEntityManager.java:2766)
         at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(XMLDocumentScannerImpl.java:995)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:332)
         at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:510)
         at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:557)
         at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1096)
         at org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
         at org.apache.fop.apps.Driver.render(Driver.java:481)
         at XmlToPdf2.<init>(XmlToPdf2.java:28)
         at XmlToPdf2.main(XmlToPdf2.java:42)
    java.lang.RuntimeException: java.lang.NullPointerException
         at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1132)
         at org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
         at org.apache.fop.apps.Driver.render(Driver.java:481)
         at XmlToPdf2.<init>(XmlToPdf2.java:28)
         at XmlToPdf2.main(XmlToPdf2.java:42)
    java.lang.RuntimeException: java.lang.NullPointerException
         at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3170)
         at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:433)
         at org.apache.xerces.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:629)
         at org.apache.xerces.impl.XMLNamespaceBinder.endDocument(XMLNamespaceBinder.java:702)
         at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument(XMLDTDValidator.java:974)
         at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScannerImpl.java:445)
         at org.apache.xerces.impl.XMLEntityManager.endEntity(XMLEntityManager.java:1123)
         at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityManager.java:3078)
         at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces(XMLEntityManager.java:2766)
         at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(XMLDocumentScannerImpl.java:995)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:332)
         at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:510)
         at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:557)
         at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1096)
         at org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
         at org.apache.fop.apps.Driver.render(Driver.java:481)
         at XmlToPdf2.<init>(XmlToPdf2.java:28)
         at XmlToPdf2.main(XmlToPdf2.java:42)
    </pre>
    Can anybody help?

    Hi,
    I also facing same problem,did you get the solution.
    I am using apache's FOP 0.20.3, xerces-1.2.3 and xalan-2.0.0 and jdk1.3 with weblogic5.1 to convert xml/xsl file to pdf. The code is same as the one given in the org.apache.fop.apps.Driver class.
    please give me sample code.
    thanks,
    [email protected]

  • JAXP working with XML-XSL files - urgent help

    I have the code below to transform xml file into html file using xsl file:
    Transformer transformer = tFactory.newTransformer(new StreamSource("D:/Test/26120108026263560502.xsl"));
    transformer.transform(new StreamSource("D:/Test/26120108028469387014574415483532664948806162003.xml"), new StreamResult(new FileOutputStream("D:/Test/Test.html")));
    The code works fine with simple xml, xsl files, but it shows strange error messages when transforming more complex xsl file, please look at the errors below:
    [Error] 26120108026263560502.xsl:3:80: Element type "xsl:stylesheet" must be declared.
    [Error] 26120108026263560502.xsl:4:58: Element type "xsl:output" must be declared.
    [Error] 26120108026263560502.xsl:6:75: Element type "xsl:include" must be declared.
    [Error] 26120108026263560502.xsl:12:25: Element type "xsl:template" must be declared.
    [Error] 26120108026263560502.xsl:14:7: Element type "html" must be declared.
    [Error] 26120108026263560502.xsl:15:7: Element type "head" must be declared.
    [Error] 26120108026263560502.xsl:16:8: Element type "title" must be declared.
    [Error] 26120108026263560502.xsl:17:75: Element type "xsl:value-of" must be declared.
    [Error] 26120108026263560502.xsl:19:74: Element type "meta" must be declared.
    [Error] 26120108026263560502.xsl:20:8: Element type "style" must be declared.
    [Error] 26120108026263560502.xsl:38:25: Element type "body" must be declared.
    [Error] 26120108026263560502.xsl:39:48: Element type "xsl:call-template" must be declared.
    [Error] 26120108026263560502.xsl:40:55: Element type "xsl:call-template" must be declared.
    [Error] 26120108026263560502.xsl:41:49: Element type "xsl:call-template" must be declared.
    [Error] 26120108026263560502.xsl:43:67: Element type "table" must be declared.
    [Error] 26120108026263560502.xsl:44:7: Element type "tr" must be declared.
    [Error] 26120108026263560502.xsl:45:21: Element type "td" must be declared.
    [Error] 26120108026263560502.xsl:45:24: Element type "b" must be declared.
    [Error] 26120108026263560502.xsl:45:51: Element type "br" must be declared.
    [Error] 26120108026263560502.xsl:46:123: Element type "xsl:value-of" must be declared.
    It look to me that JAXP can't recognize the tags. Everyone's help is appreciated.
    Neil

    Here is the top part of it: ***********************
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE xsl:stylesheet [<!ENTITY nbsp "&#160;">]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="no" encoding="UTF-8" />
    <xsl:include href="http://connexion.vdr.com/ematrix/reports/xsllib.xsl" />
    <xsl:template match="/">
    <html>
    <head>
    <title>
    <xsl:value-of select="//businessObject[objectType='CRA']/objectName"/>
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <style>
    TABLE
    font-family: Arial Narrow, Tahoma, Verdana;
    border: #000000 solid;
    border-width: 2px 2px 0px;}
    TABLE.BOTTOM
    font-family: Arial Narrow, Tahoma, Verdana;
    border: #000000 solid;
    border-width: 2px 2px 2px;}
    TD.DATA, TH.DATA
    border: #cccccc solid;
    border-width: 0px 1px 1px 0px;}
    </style>
    </head>
    <body bgcolor="#FFFFFF">
    <xsl:call-template name="ECRHeaderTable" />
    <xsl:call-template name="ECRHeaderDetailsTable" />
    <xsl:call-template name="ECRDetailsTable" />
    Anh here is the top part of file xsllib.xsl in the xsl:include: ********
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE xsl:stylesheet [<!ENTITY nbsp "&#160;">]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!--*******************************************************************
    CalJulian - Calculate the Julian date for any date
    Inputs: Year - Year
    Month - Month
    Day - Day
    hour - hour (24 hour based, 0=midnight, 23=11pm)
    min - minute
    sec - second
    History:
    http://www.nr.com/julian.html
    *********************************************************************-->
    <xsl:template name="CalJulian">
    <xsl:param name="Year"/>
    <xsl:param name="Month" select="1"/>
    <xsl:param name="Day" select="1"/>
    <xsl:param name="Hour" select="0"/>
    <xsl:param name="Min" select="0"/>
    <xsl:param name="Sec" select="0"/>
    <xsl:variable name="jy">
    <xsl:choose>
    <xsl:when test="($Year < 0) and ($Month > 2)">
    <xsl:value-of select="$Year + 1"/>
    </xsl:when>
    <xsl:when test="($Year >= 0) and ($Month <= 2)">
    <xsl:value-of select="$Year - 1"/>
    </xsl:when>
    <xsl:otherwise>
    <xsl:value-of select="$Year"/>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:variable>
    The files work fine when I use msxsl.exe without any errors. I forgot to mention that dispite all the errors, JAXP still creates the html file but seeing the errors is not a good thing.
    Neil

  • Large Pdf using XML XSL - Out of Memory Error

    Hi Friends.
    I am trying to generate a PDF from XML, XSL and FO in java. It works fine if the PDF to be generated is small.
    But if the PDF to be generated is big, then it throws "Out of Memory" error. Can some one please give me some pointers about the possible reasons for this errors. Thanks for your help.
    RM
    Code:
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.xml.sax.InputSource;
    import org.xml.sax.XMLReader;
    import org.apache.fop.apps.Driver;
    import org.apache.fop.apps.Version;
    import org.apache.fop.apps.XSLTInputHandler;
    import org.apache.fop.messaging.MessageHandler;
    import org.apache.avalon.framework.logger.ConsoleLogger;
    import org.apache.avalon.framework.logger.Logger;
    public class PdfServlet extends HttpServlet {
    public static final String FO_REQUEST_PARAM = "fo";
    public static final String XML_REQUEST_PARAM = "xml";
    public static final String XSL_REQUEST_PARAM = "xsl";
    Logger log = null;
         Com_BUtil myBu = new Com_BUtil();
    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException {
    if(log == null) {
         log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
         MessageHandler.setScreenLogger(log);
    try {
    String foParam = request.getParameter(FO_REQUEST_PARAM);
    String xmlParam = myBu.getConfigVal("filePath") +"/"+request.getParameter(XML_REQUEST_PARAM);
    String xslParam = myBu.SERVERROOT + "/jsp/servlet/"+request.getParameter(XSL_REQUEST_PARAM)+".xsl";
         if((xmlParam != null) && (xslParam != null)) {
    XSLTInputHandler input = new XSLTInputHandler(new File(xmlParam), new File(xslParam));
    renderXML(input, response);
    } else {
    PrintWriter out = response.getWriter();
    out.println("<html><head><title>Error</title></head>\n"+
    "<body><h1>PdfServlet Error</h1><h3>No 'fo' "+
    "request param given.</body></html>");
    } catch (ServletException ex) {
    throw ex;
    catch (Exception ex) {
    throw new ServletException(ex);
    public void renderXML(XSLTInputHandler input,
    HttpServletResponse response) throws ServletException {
    try {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    response.setContentType("application/pdf");
    Driver driver = new Driver();
    driver.setLogger(log);
    driver.setRenderer(Driver.RENDER_PDF);
    driver.setOutputStream(out);
    driver.render(input.getParser(), input.getInputSource());
    byte[] content = out.toByteArray();
    response.setContentLength(content.length);
    response.getOutputStream().write(content);
    response.getOutputStream().flush();
    } catch (Exception ex) {
    throw new ServletException(ex);
    * creates a SAX parser, using the value of org.xml.sax.parser
    * defaulting to org.apache.xerces.parsers.SAXParser
    * @return the created SAX parser
    static XMLReader createParser() throws ServletException {
    String parserClassName = System.getProperty("org.xml.sax.parser");
    if (parserClassName == null) {
    parserClassName = "org.apache.xerces.parsers.SAXParser";
    try {
    return (XMLReader) Class.forName(
    parserClassName).newInstance();
    } catch (Exception e) {
    throw new ServletException(e);

    Hi,
    I did try that initially. After executing the command I get this message.
    C:\>java -Xms128M -Xmx256M
    Usage: java [-options] class [args...]
    (to execute a class)
    or java -jar [-options] jarfile [args...]
    (to execute a jar file)
    where options include:
    -cp -classpath <directories and zip/jar files separated by ;>
    set search path for application classes and resources
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -showversion print product version and continue
    -? -help print this help message
    -X print help on non-standard options
    Thanks for your help.
    RM

  • JEditorPane xml/xsl to html

    I have build a little and simple xml/xsl parser that recive the xml file and the xsl file and return me a String that rapresent an html document respecting the input files.
    Now, i try to put this string ina JEditpr Pane but if i set as ContentType text/html i just see a white background and if I set, again, as contentType text/plain I can read the html code that i need.
    Sorry if this could be a stupid question, I'm a newbie in Swing.
    thx to all
    0m4r
    here is a little example of what I do
    JEditorPane jep = new JEditorPane();
    jep.setContentType("text/html");
    jep.setText(returnStringFromXMLParser);

    this could be the problem
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">i try to not use this line of code and it works fine...ut the promlem is that this line is added ny the XMLParser...what can I do?
    the Transformer I use:
    public static String toHTML(Document doc, String xslSource){
            ByteArrayOutputStream testo = new ByteArrayOutputStream();
            try{
                DOMSource source = new DOMSource(doc);
                TransformerFactory tFactory = TransformerFactory.newInstance();
                System.out.println("----> " + xslSource);
                Transformer transformer = tFactory.newTransformer(new StreamSource(xslSource));
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
                transformer.setOutputProperty("encoding","iso-8859-1");   
                transformer.transform(source, new StreamResult(testo));
            }catch(Exception ioe){
                System.out.println("2 XMLTool.toHTML " + new java.util.Date());
                System.out.println(ioe);        
            return testo.toString();
        }

  • XML+XSLT Portlet -- feature still in 5x?

    Did you guys take this feature out of the product? In 4.5, you used to be able to create a remote gadget by supplying an XML document and an XSLT stylesheet, the end result being an HTML portlet. Is that possible in 5.0? Customer 1000 wants me to do it and I can't seem to find the feature any more. Thanks, Chris Bucchere

    The feature in no longer in the portal, but has been offloaded to a portlet web service, the XML Transformer portlet. This portlet service runs in a Java application server, and is part of the Optional Web Services installation.

  • XML, XSL, XSLT, DOM??  What should be used?

    I want to develop an application using JSP, Java, mySQL, and XML.
    The application needs to be able to store data in the database but also define this data using XML. Some sort of style sheet for this data is also needed to assist in creating forms based on this data and style sheet on the fly for a new page that needs to be displayed based on the data that was entered before.
    What XML technolgoies could best help in this situation? Can you see any problems associated with building these pages on the fly based on the XML and XML style sheet???
    Any feedback or suggestions would be greatly appreciated?
    Thank you and I look forward to hearing from anyone that could help!!!!

    Two things. One JRUN has a JSP tag that converts XML and an XSL to XHTML. Despite the preference of some (who must work with only XML enabled browsers) many people on the internet and even some corporate intranets do not have XML enabled browsers thus the XML/XSL solution does not present usable data to them.
    The conversion to XHTML makes this data presented to ALL browsers.
    A good reason for having the XML is that this has become the defacto standard for communication between businesses/applications on the web. Especially with any Web Service usage XML will almost certainly be required. In other words, minimize rework use a "standard" data that is usable my many different layers of presentation.
    Hopefully I was clear enough. I am using XML as a pre-presentation data format and then using various forms (including JAXB) to present the data or manipulate the data depending on requirements.

  • Problem transforming XML/XSL Using Xalan

    Hi, I am using the xalan apis to transform XML/XSL in a servlet..My servlet code is like...
    response.setContentType("text/html; charset=UTF-8");
    // Output goes in the response stream.
    PrintWriter out = response.getWriter();
    boolean environmentOK = (new org.apache.xalan.xslt.EnvironmentCheck()).checkEnvironment (out);
    try
    TransformerFactory tFactory = TransformerFactory.newInstance();
    // Get the XML input document and the stylesheet.
    Source xmlSource = new StreamSource("D:\\DATA\\jrun\\test\\test.xml");
    Source xslSource = new StreamSource("D:\\DATA\\jrun\\test\\test.xsl");
    // Generate the transformer.
    Transformer transformer = tFactory.newTransformer(xslSource);
    // Perform the transformation, sending the output to the response.
    transformer.transform(xmlSource, new StreamResult(out));
    I am getting the error ..
    javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: org.xml.sax.SAXException: Namespace not supported by SAXParserjavax.xml.transform.TransformerConfigurationException
    That's why I have added the line..
    boolean environmentOK = (new org.apache.xalan.xslt.EnvironmentCheck()).checkEnvironment (out);
    But that gives me the following error diagnostic information...
    ERROR.version.DOM=ERROR attempting to load DOM level 2 class: java.lang.NoSuchMethodException
    I have put all the 3 required classes, xml-apis.jar, xercesImpl.jar and xalan.jar in my application servers classpath..
    Please let me know what I am doing wrong..and how this can be fixed.
    Thanks
    Surajit

    hey Surajit
    Your code is unable to create a transformer from a factory instance.
    I would check why it is not creating the Transformer.On my win32 system i usee two forward slashes..to identify the file path
    D://xyz//abc....instead of D:\\...i wonder if thats one reason why your code is not able to create a transformer based on the StreamSource u create for the file paths.
    Code i use..that works
    javax.xml.transform.TransformerFactory tFactory =
                                                                javax.xml.transform.TransformerFactory.newInstance();
                                                      javax.xml.transform.Source xmlSource = new javax.xml.transform.stream.StreamSource                              (xmlInputSource);
                                                 javax.xml.transform.Source xslSource = new javax.xml.transform.stream.StreamSource
                                       (xslInputSource);
                                                                                                        // Generate the transformer.
                                                                javax.xml.transform.Transformer transformer = tFactory.newTransformer(xslSource);
                                                                                                   // Perform the transformation, sending the output to the response.
                                                                transformer.transform(xmlSource,new javax.xml.transform.stream.StreamResult(out));
                                                                                                        I used jaxp-1.2 with tomcat 4.1.12
    Hope that helps.

Maybe you are looking for

  • Time-out issue Always on SQL 2012 Cluster

    Currently I'm working on a large deployment of a SharePoint 2013 environment (stretched farm over 2 DC's). We are using a SQL 2012 alwayson multisubnet cluster (each DC has 1 SQL node). During the installation of SharePoint we encountered several con

  • Event shows up on iPod but not in iCalendar

    Hello: I put a recurring event "Astronomy" (course) into iCalendar. Every day at 8:30 AM from September to March. I removed the event in December and it doesn't appear at all in iCalendar. But... it shows up every day until March on my iPod. New even

  • Automation wrokspace not available in Azure

    I have an MSDN subscription and I cannot see the Automation workspace available in the portal. Any clues on how to get it to show up? Telmo Sampaio

  • Mac mini startup disk full?

    I keep getting an error that says that my startup disk is full and it pauses open browsers and programs. What is this?

  • Error in /SAPPO/PPO2 - Rfx does not exist

    Hi Experts, I am getting error in Tx - /SAPPO/PPO2  Rfx does not exit. We are using classic scenario, where the Purchase requisition are coming from SAP ECC system using CPPR (Collective process of purchase rquisition). We are using SAP PI  to connec