Problem with XSLT
Dear all,
I am facing the following problem: I have an XML file, which is used to store information. An XSL stylesheet transformation is used to grab certain information and display it in a webbrowser, based on category and language of the content in the XML file (categories are marked up with ordinary XML tags, language is specified with the xml:lang attribute). At present there are 8 combinations of category and language.
I am looking for a way to dynamically assign the stylesheet to be used, based on where the user on the website is coming from. That is, the user clicks on a link and the XML doc is opened with a certain stylesheet, which displays data from a certain category in a certain language.
Can this be done at all? It is important that only one XML doc is the basis for this functionality. Preferably, it should only be one XSL also, but I guess that's not possible.
Cheers,
N
PS: I realise this has nothing to do with Java, I hope you can forgive me posting this question here. I found that there are many very knwoledgable and helpful people here in the Java forums.
What is your context? If it is the root element, then that test will return true (because there IS a /message/commission element whose type is not 'Initial'), and then the xsl:copy-of will copy the two /message/commission elements under the root.
If you want to handle each of the commission elements differently, then you need a template that handles each of them. This template can then look directly at the type attribute, and xsl:copy-of itself if the attribute is not 'Initial'.
Similar Messages
-
Problem with XSLT Transformation on BPM
Hi there,
I have a 1:N File --> Idocs Scenario with BPM, Inside the BPM i have an XSLT Transformation that has a problem i cant figure out, basically this XSLT Groups the file structure like this:
<File> * <Shipments>
<Route> * <Route>
<Id>1</Id> * <Id>1</Id>
<delivery>1</delivery> * <delivery>1</delivery>
</Route> * <delivery>2</delivery>
<Route> * </Route>
<Id>1</Id> * <Route>
<delivery>2</delivery> * <Id>2</Id>
</Route> * <delivery>3</delivery>
<Route> * <delivery>4</delivery>
<Id>2</Id> * </Route>
<delivery>3</delivery> * </Shipments>
</Route> *
<Route> *
<Id>2</Id> *
<delivery>4</delivery> *
</Route> *
</File> *
It's supposed to generate 1 Route Segment for each disctint Route Id on the Source file, it has always worked fine as we ran several tests before going into production system, but now, sometimes it misses a few routes for example the output will be 25 different Routes for a source file that 28, or 2 routes from a file that as 3.
I have tested the XSLT on the repository and it works fine all the time, same thing when using xml spy, i always download the payload i get from the file adapter, i got a source file from PRD that has 28 routes and i ran the whole scenario on QAS and it generated 12 routes only, im about to open an OSS message but first i wanted to know if anyone has seen something like this, thanks in advance for all the help you guys can provide.
Best Regards,
Roberto.
p.s. i can send the XSL if needed or anything just ask for it.Hi,
Basically because i have to do 2 transformations, first i run the XSLT to group all the deliveries and such, and then i do a graphic mapping to split it into single Shipment Idocs, i dont know how to group by id on graphical mapping..., anyway i don't think the fact that im using BPM would finally alter the xslt result,
Regards,
Roberto. -
Problem with XSLT: xsl:copy
xsl:copy let us copy a node from the source to the result of a XSLT transformation.
My problem is that each element is copied without its attributes !
For example a template:
<xsl:template match="myelement">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
on a element:
<myelement myattribute="value">text</myelement>
will transform this element in the new element <myelement>text</myelement>. The attribute has desappeared.
How Can I do copy my element exactly as it is, with all its attributes ?
thank's.Yes, but copy-of copies child elements too. And I don't want to do so. What I want is for example that my template generate an element
<myelement myattribute="value">
<myaddedelement>
</myelement>
with an element
<myelement myattribute="value"/>
in the source. -
Hi,
I'm doing some XSLT mapping to transform the input XML which is coming to XI from a non-SAP application which do not have any namespace prefix. All I'm doing in the transformation is adding the namespace prefix to the xml so that XI can understand the incoming xml message. my incoming xml is in this format
<?xml version="1.0" standalone="yes" ?>
<response xmlns="http://www.test.com/it">
<request_id>UNKNOWN-TEST-1181313012309</request_id>
<request_type>CREATE_TICKET</request_type>
<result>APPROVED</result>
<service_provider>VERIZON</service_provider>
<extra>
<extra_ReqAck_AckComment>A trouble ticket has already been
created for this circuit</extra_ReqAck_AckComment>
<extra_ReqAck_ackType>Request_Completed</extra_ReqAck_ackType>
<extra_ReqAck_date>2007-06-08</extra_ReqAck_date>
<extra_ReqAck_time>10:29:17</extra_ReqAck_time>
</extra>
<vendor>
<ticket_id>CARC349201</ticket_id>
</vendor>
</response>
And my output xml should be in the following format
<?xml version="1.0" standalone="yes" ?>
<ns1:response xmlns:ns1="http://www.test.com/it">
<request_id>UNKNOWN-TEST-1181313012309</request_id>
<request_type>CREATE_TICKET</request_type>
<result>APPROVED</result>
<service_provider>VERIZON</service_provider>
<vendor>
<ticket_id>CARC349201</ticket_id>
</vendor>
</ns1:response>
Here is my xsl file to
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="*">
<ns1:response xmlns:ns1="http://www.test.com/it">
<request_type>
<xsl:value-of select="request_type"/>
</request_type>
<service_provider>
<xsl:value-of select="service_provider"/>
</service_provider>
<vendor>
<ticket_id>
<xsl:value-of select="ticket_id"/>
</ticket_id>
<ticket_status>
<xsl:value-of select="ticket_status"/>
</ticket_status>
</vendor>
</ns1:response>
</xsl:template>
</xsl:stylesheet>
When I use this stylesheet. I'm getting this response this is not adding the values to the nodes.
<?xml version="1.0" encoding="utf-8"?>
<ns1:response xmlns:ns1="http://www.test.com/it">
<request_type/>
<service_provider/>
<vendor>
<ticket_id/>
<ticket_status/>
</vendor>
</ns1:response>
I would really appreciate if anyone had ever came across this problem or had found solution.
Thanks,
Joe.PHi Udo,
Here is the problem as long as I do have namespace in my input xml that's coming from non sap application the XSLT transformation is failing. I did what you have suggested and here is the style sheet.
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:ns1="http://www.test.com/it/app" >
<xsl:output method="xml" version="2.0" indent="yes"/>
<xsl:template match="/">
<ns1:response>
<request_type>
<xsl:value-of select="//request_type"/>
</request_type>
<result>
<xsl:value-of select="//result" />
</result>
<result_reason>
<xsl:value-of select="//result_reason"/>
</result_reason>
<service_provider>
<xsl:value-of select="//service_provider"/>
</service_provider>
<vendor>
<ticket_id>
<xsl:value-of select="//ticket_id"/>
</ticket_id>
<ticket_status>
<xsl:value-of select="//ticket_status"/>
</ticket_status>
</vendor>
</ns1:response>
</xsl:template>
</xsl:stylesheet>
and as I mention in the initial posting the input xml does have a name space in the response node. so what I tried is I removed the namespace from the input xml from the response node and that works. But I can't remove the namespace from the input xml since that's coming from non sap application.
Thanks,
Joe.P -
Xmlns attr for element nodes creating problem with xslt
Hi all,
I m facing a small issue. I have a xml file for which i have written a xsl file to transform to another xml(demo.xml).I am not able to select the nodes which have xmlns attribute. Can u tell me what has to be done.Snapshot of files:
xml file:
<ROWSET>
<ROW>
<INDEX version="1.0" >
<SCHEMA>AD Design</SCHEMA>
<NAME>AD_FILES_N1I</NAME>
</INDEX>
<INDEX version="1.0" xmlns:doc="http://xmlns.oracle.com/ku">
<SCHEMA>AD Design</SCHEMA>
<NAME>AD_FILES_N1I</NAME>
</INDEX>
</ROWSET>
</ROW>
xsl File
<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:template match="/ROWSET">
<xsl:apply-templates select="ROW/INDEX"/>
</xsl:template>
<xsl:template match="ROW/INDEX">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
O/P xml:
<?xml version="1.0" encoding="UTF-8"?>
<INDEX version="1.0" >
<SCHEMA>AD Design</SCHEMA>
<NAME>AD_FILES_N1I</NAME>
</INDEX>Got the solution ..
use these code:
<xsl:template match="INDEX|INDEX[namespace-uri(.)='http://xmlns.oracle.com/ku']">
<xsl:copy-of select="."/>
</xsl:template>
Cheers,
Dhanu -
I'm having a problem with xslt transformations.
I'm sending a DOMDocument to be transformed into a varchar2. The transformation was into html and I was then printing the returning varchar2 to a web page, along the lines of...
htp.prn(Xslt.transform(domdoc, xslt.stylesheet( l_stylesheet_bfile)));
I subsequently broke the varchar2 32k limit so I started playing with transforming into a dom instead of a varchar, then writing the dom to a clob and the printing the clob to the web page in 32k chunks.
I noticed this produced different results than the first method. Now I'm assuming that this is not because xslt is doing the transformations differently but because it's trying to put my html into a well-formed DOMdocument. I have noticed, though, that things like & #160; seemed to have disappeared.
Just wondering if I'm doing something wrong, and also any reason why the transform functionality doesn't have an output option of CLOB?
Thanks
JasonWhat is the DB version?
-
XSLT Mapping - problem with prefixes when calling template
Hi all,
I am having a problem with using an XSLT mapping in XI to combine various fields from 2 input messages of different structures into a single output message. I understand that XI puts a wrapper around the 2 input messages so the structure of the XML I am mapping is:
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Messages xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge">
<ns2:Message1>
<ns:(root of first message)>
</ns:(root of first message)>
</ns2:Message1>
<ns2:Message2>
<ns:(root of second message)>
</ns: (root of second message)>
</ns2:Message2>
</ns2:Messages>
Currently my XSL looks like the following:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://example.co.uk/example" xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge" xmlns:javamap="java:systemDate.CurrentDate" version="2.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8"/>
<xsl:param name="inputparam"/>
<xsl:template match="ns2:Messages">
...<xsl:calltemplate name="FormattingTemplate"/>
</xsl:template>
<xsl:template name="FormattingTemplate">
</xsl:template>
</xsl:stylesheet>
When I test the mapping it works fine until it calls the FormattingTemplate. Then it throws out a "transformer exception" error saying the prefix 'ns2' is not mapped to a namespace.
If anyone could tell me where I am going wrong I would be very grateful.
Thanks,
MikeHi Udo,
Thanks for your reply.
When testing the stylesheet locally with XMLSpy, it works fine, but I have just noticed that it adds information in the root tag of the target message as follows:
<(root of target message) xmlns:javamap="java:systemDate.CurrentDate" xmlns:ns="http://example.co.uk/example" xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge">
I checked the root tag of the target message in XI and it does not automatically add this information. Thus I added it in my stylesheet so the information above is projected in the target message, but the same error message appears when the call template function is called. Do you know if I need to somehow add a namespace to templates other than the main one? If so, do you know how I go about doing that?
Thanks,
Mike -
Problem with x:transform function : translation with XSLT
I've got a problem with this code :
This is the XML file :
<%@taglib prefix="x" uri="http://java.sun.com/jstl/xml"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<c:import var="xslDoc" url="test.xsl"/>
<x:transform xslt ="${xslDoc}">
<students>
<student id="1">
<name>
<first>John</first>
<last>Smith</last>
<middle>T</middle>
</name>
<grade>
<points>72</points>
<letter>C</letter>
</grade>
</student>
</students>
</x:transform>This is the XSLT :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="students">
<html>
<head>
<title>XSLT Transform</title>
</head>
<body>
<table border="1">
<tr><th>First</th><th>Last</th>
<th>Points</th><th>Letter</th></tr>
<xsl:apply-templates/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="student">
<tr>
<td><xsl:value-of select="name/first"/></td>
<td><xsl:value-of select="name/last"/></td>
<td><xsl:value-of select="grade/points"/></td>
<td><xsl:value-of select="grade/letter"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>I use NetBeans 3.5.1 for compiling and testing, and on my machine all works fine.
But when i upload the code on the server i''ve this type of error :
HTTP Status 500 - Internal Server Error
exception
org.apache.jasper.JasperException: access denied (java.util.PropertyPermission org.xml.sax.driver read)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:536)
root cause
java.security.AccessControlException: access denied (java.util.PropertyPermission org.xml.sax.driver read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
at java.lang.System.getProperty(System.java:572)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:81)
at org.apache.taglibs.standard.tag.common.xml.TransformSupport.getSource(TransformSupport.java:280)
at org.apache.taglibs.standard.tag.common.xml.TransformSupport.getSource(TransformSupport.java:276)
at org.apache.taglibs.standard.tag.common.xml.TransformSupport.doStartTag(TransformSupport.java:159)
at org.apache.taglibs.standard.tag.el.xml.TransformTag.doStartTag(TransformTag.java:104)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:536)
org.apache.jasper.JasperException: access denied (java.util.PropertyPermission org.xml.sax.driver read)It seems a permission problem, but my experience with JSP is very poor , i've asked to control to my host
the policy of the folders but they didn't respond me yet.
Any suggestion ?
Thx for reading, and sorry for my rusty english :-PThanks.
I've already tried to insert the whole path. You mean this,right ?
<c:import var="xslDoc" url="http://www.domain.net/examples/test.xsl"/>I've searched a lot with google but i haven't find anything.
I've not searched a lot into the jakarta site, I'll do tomorrow, now it's
a bit late (1:45 AM in Italy :-0 ), so i think that i'll go to sleep.
Thanks for responding so soon!
I'll wait for your new infos.
Thanks again.
read you tomorrow. -
XSLT problem with img tag in Saxon
Hi,
Iam getting a problem with <img> tag when transforming a document using Saxon transformer. In the input XSLT I have proper closing tag for <img>, but the output of the transformation is not well formed as the closing tag for <img> does not appear. I need to feed the output to a FO object to generate a print preview, but the output is not well-formed.
Kindly help to resolve the issue.
Kind Regards,
AbhinandanPerhaps that is because you are generating HTML as your output? As I recall, <img> tags don't have to be closed in HTML. So try generating XML instead if you need XML.
-
XSLT-problem with sequence attributes
Hi,
in my XSLT-program (i'm a real newbie!) i'm adding dynamically attributes and their values to a tag, by using the following code :
<SUPPLIER>
<xsl:attribute name="FUNLOC">
<xsl:value-of select="SUPPLIER_FUNLOC" />
</xsl:attribute>
<xsl:attribute name="NAME">
<xsl:value-of select="SUPPLIER_NAME" />
</xsl:attribute>
<xsl:attribute name="LOCATION">
<xsl:value-of select="SUPPLIER_LOCATION" />
</xsl:attribute>
</SUPPLIER>
The problem is that the attributes in the resulting xml-file are alphabetically ordered. For instance :
<SUPPLIER FUNLOC="9522222" LOCATION="NL" NAME="Test vendor VMOI">
How can i arrange that the result of the xml-file is a sequence of entrance is taken, so
<SUPPLIER FUNLOC="9522222" NAME="Test vendor VMOI" LOCATION="NL" >
regards,
Hans
[email protected]Hi Hans,
I think you're using ABAP-XSLT?!
If you do so, you can solve the sorting problem by using a 1:1 Message mapping after the ABAP-XSLT mapping. This resolves the problem that the nodes are not in the correct order.
In your interface mapping you have to configure 2 mappings:
1: ABAP-XSLT
2: Message mapping.
Of course this means that the total processing time increases a little bit.
I had the same problem with the sequence of my (ACC_DOCUMENT) idoc nodes, the ABAP-XSLT screwed up the idoc, but the 1:1 message mapping solved the problem.
Regards,
Mark -
Problems with some web parts when using XSLT
I have a page on which I have several web parts. Some web parts are custom while others are OOB and only XSLT is applied on them.
I am using 2 WFEs with NLB. Problem is when I do iisreset on one of the WFE then the OOB web parts with XSLT start giving error. You know the standard error "corelation ID....bla bla bla". Anyway the error automatically goes away after a 2, 3 minutes.
So basically if I do iisreset or stop the iis, and then load that page, then all custom web parts load fine except those OOB web parts with XSLT. And then they too start working fine after 2, 3 minutes if I reload page.
What could be the reason for that? Looks like some service on which XSLT depends take time to load!? And once that service is loaded then they start working fine? Or it could be due to distributed cache or something!?Hi Frank,
Which version of the SharePoint 2010 did you use?
In June 2011 CU code was added to the DataFormWebPart (which is used to display list data) that if an XSLT transform took longer than 5 seconds, a StackOverflowException was thrown. This was done to avoid
a potential Denial Of Service attack on SharePoint if crafted XML could be sent that would continually clog up the XSLT, thereby stopping pages from rendering.
In August 2011 CU the transform "timeout" was reduced from 5 seconds to 1.
So, any list with XSLT that takes longer than 1 second to parse in an XSLT transform goes *boom*.
After you perform an IIS reset , the cache of the page was cleared and you encountered the error. Once the page is cached, there is no error.
You can try to set up XSLT Timeout with the following PS commands:
$farm = Get-SPFarm
$farm.XsltTransformTimeOut = 5
$farm.Update()
Reference:
http://social.msdn.microsoft.com/Forums/sharepoint/de-DE/44cfd798-be7a-4436-8786-bd44049e7def/sp2010-column-filter-causing-unable-to-display-web-part-error-and-a-stack-overflow-exception?forum=sharepointgeneralprevious
Best Regards,
Eric
Eric Tao
TechNet Community Support -
Problem with portlets with XSLT generating dynamic portal compatible links
Hi,
We're using XSLT to transform XML data to HTML in a portlet. The problem is that
the XML contains headlines and we need to create links to the complete article,
which has to be displayed in the same portlet. How do I create a portal comaptible
link with XSLT? In the JSP you can use the netui tag library like:
<netui:anchor action="..">
link
<netui:parameter name="id" value="{id}"/>
</netui:anchor>
but how can I achieve this with XSLT? We tried generating the xsl with a jsp,
but this doesn't work since the data entered in the value attribute of the netui:parameter
tag will be encoded causing the XSL transformer to fail.
Is there an easy solution to this? Or can XSLT only be used with very simple content?
ArdWe're trying to display some news headlines, clicking a headline has to invoke
an action to display the complete article in the same portlet (using pageflow).
When displaying the articles we use XSLT like (this is a JSP generating XSLT):
<?xml version="1.0"?>
<%@ page contentType="text/x-xslt"%>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="items">
<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<nobr>
<%-- ###### Here we need an action link, with the title as a request parameter
###### --%>
<xsl:value-of select="@title"/>
</nobr>
</xsl:template>
</xsl:stylesheet>
The XML is like:
<items>
<item title="some title"/>
<item title="some other title"/>
</items>
We need to generate a portal compatible link which invokes an action (show_details)
with the title of the article as a request parameter.
I know how to do this in a JSP, but since the data is in XML we like to do this
with XSLT.
Can you help?
Subbu Allamaraju <subbuATBeaDOTCom> wrote:
Could you elaborate (perhaps with some xsl snippet generated by jsp)
the
failures you were getting with xslt?
Subbu
Ard van der Scheer wrote:
Hi,
We're using XSLT to transform XML data to HTML in a portlet. The problemis that
the XML contains headlines and we need to create links to the completearticle,
which has to be displayed in the same portlet. How do I create a portalcomaptible
link with XSLT? In the JSP you can use the netui tag library like:
<netui:anchor action="..">
link
<netui:parameter name="id" value="{id}"/>
</netui:anchor>
but how can I achieve this with XSLT? We tried generating the xsl witha jsp,
but this doesn't work since the data entered in the value attributeof the netui:parameter
tag will be encoded causing the XSL transformer to fail.
Is there an easy solution to this? Or can XSLT only be used with verysimple content?
Ard -
Problem with Dynamic Configuration in XSLT mapping..!!
Hi friends,
Working first time with xslt map.I am doing a Idoc to File scenario in which I need to pass Idoc number as the file name dynamically. Right now I am just trying to send some constant value 'ABCD' to go in dynamic attribute filename.
I used the code which has been provided over here.
[http://help.sap.com/saphelp_nw04/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/frameset.htm|http://help.sap.com/saphelp_nw04/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/frameset.htm]
I just changed the "Directory" with "FileName" in the code. It is not generating the dynamic attribute http://sap.com/xi/XI/System/File
This is my xsl code. Please suggest me If iam doing anything wrong.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:map="java:java.util.Map" xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration" xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
<xsl:output indent="no"/>
*<xsl:param name="inputparam" select = "ABCD"/>*
<xsl:output method="text" encoding="utf-8"/>
<xsl:template match="/">
<!-- change dynamic configuration -->
<xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')"/>
*<xsl:variable name="dynamic-key" select="key:create('http://sap.com/xi/XI/System/File', 'FileName')"/>*
<xsl:variable name="dynamic-value" select="dyn:get($dynamic-conf, $dynamic-key)"/>
<xsl:variable name="new-value" select="concat($dynamic-value, 'subfolder\')"/>
<xsl:variable name="dummy" select="dyn:put($dynamic-conf, $dynamic-key, $new-value)"/>
<!-- copy payload -->
<xsl:copy-of select="."/>
</xsl:template>
<xsl:template match="/">
Waiting for your answers.
Thank you.
Deepthi.Hi Stefen,
I tried the way you suggest but still I couldn't able to see the Dynamic Configuration attribute in SOAP document. I tried for Idoc number and even tried by passing just a value 'abcd' like below.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:map="java:java.util.Map" xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration" xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
<xsl:output indent="no"/>
<xsl:output method="text" encoding="utf-8"/>
*<xsl:param name="inputparam"/>*
*<xsl:param name="new-value">*
*<xsl:value-of select="/WMMBID01/IDOC/EDI_DC40/DOCNUM" />*
*</xsl:param>*
<xsl:template match="/">
<!-- change dynamic configuration -->
<xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')"/>
<xsl:variable name="dynamic-key" select="key:create('http://sap.com/xi/XI/System/File', 'FileName')"/>
<xsl:variable name="dummy" select="dyn:put($dynamic-conf, $dynamic-key, $new-value)"/>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:map="java:java.util.Map" xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration" xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
<xsl:output indent="no"/>
<xsl:output method="text" encoding="utf-8"/>
*<xsl:param name="inputparam"/>*
*<xsl:param name="new-value" select="abcd">*
*</xsl:param>*
<xsl:template match="/">
<!-- change dynamic configuration -->
<xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')"/>
<xsl:variable name="dynamic-key" select="key:create('http://sap.com/xi/XI/System/File', 'FileName')"/>
<xsl:variable name="dummy" select="dyn:put($dynamic-conf, $dynamic-key, $new-value)"/>
Any suggestions please.
Thanks
Deepthi. -
When the installation is done according to the documentation,
web access does not work because the scripts that add entries to
the jserv.properties file add duplicate references to
wrapper.env and wrapper.classpath. Look at the jserv.properties
file below and look at the remarked-out (#) lines of the
duplicate references. For example, look at the references to the
wrapper.env=LD_LIBRARY_PATH
Oracle, please note this bug so the web access problems are
minimized when the product is intstalled.
Thank you,
William T.
# Apache JServ Configuration
File #
################################ W A R N I N G
# Unlike normal Java properties, JServ configurations have some
important
# extensions:
# 1) commas are used as token separators
# 2) multiple definitions of the same key are concatenated in
a
# comma separated list.
# Execution parameters
# The Java Virtual Machine interpreter.
# Syntax: wrapper.bin=[filename] (String)
# Note: specify a full path if the interpreter is not visible in
your path.
wrapper.bin=/d3/Apache/jdk/bin/java
# Arguments passed to Java interpreter (optional)
# Syntax: wrapper.bin.parameters=[parameters] (String)
# Default: NONE
wrapper.bin.parameters=-Xms64m
wrapper.bin.parameters=-Xmx128m
# Apache JServ entry point class (should not be changed)
# Syntax: wrapper.class=[classname] (String)
# Default: "org.apache.jserv.JServ"
# Arguments passed to main class after the properties filename
(not used)
# Syntax: wrapper.class.parameters=[parameters] (String)
# Default: NONE
# Note: currently not used
# PATH environment value passed to the JVM
# Syntax: wrapper.path=[path] (String)
# Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
# "c:\(windows-dir);c:\(windows-system-dir)" for Win32
systems
# Notes: if more than one line is supplied these will be
concatenated using
# ":" or ";" (depending wether Unix or Win32) characters
# Under Win32 (windows-dir) and (windows-system-dir) will
be
# automatically evaluated to match your system
requirements
# CLASSPATH environment value passed to the JVM
# Syntax: wrapper.classpath=[path] (String)
# Default: NONE (Sun's JDK/JRE already have a default classpath)
# Note: if more than one line is supplied these will be
concatenated using
# ":" or ";" (depending wether Unix or Win32) characters.
JVM must be
# able to find JSDK and JServ classes and any utility
classes used by
# your servlets.
# Note: the classes you want to be automatically reloaded upon
modification
# MUST NOT be in this classpath or the classpath of the
shell
# you start the Apache from.
wrapper.classpath=/d3/Apache/jdk/lib/tools.jar
wrapper.classpath=/d3/Apache/Jserv/libexec/ApacheJServ.jar
wrapper.classpath=/d3/Apache/Jsdk/lib/jsdk.jar
# An environment name with value passed to the JVM
# Syntax: wrapper.env=[name]=[value] (String)
# Default: NONE on Unix Systems
# SystemDrive and SystemRoot with appropriate values on
Win32 systems
wrapper.env=PATH=/d3/bin
# An environment name with value copied from caller to Java
Virtual Machine
# Syntax: wrapper.env.copy=[name] (String)
# Default: NONE
# Uncomment the following lines to set the default locale and
NLS_LANG
# setting based on the environment variables.
# wrapper.env.copy=LANG
# wrapper.env.copy=NLS_LANG
# Copies all environment from caller to Java Virtual Machine
# Syntax: wrapper.env.copyall=true (boolean)
# Default: false
# Protocol used for signal handling
# Syntax: wrapper.protocol=[name] (String)
# Default: ajpv12
# General parameters
# Set the default IP address or hostname Apache JServ binds (or
listens) to.
# If you have a machine with multiple IP addresses, this address
# will be the one used. If you set the value to localhost, it
# will be resolved to the IP address configured for the locahost
# on your system (generally this is 127.0.0.1). This feature is
so
# that one can have multiple instances of Apache JServ listening
on
# the same port number, but different IP addresses on the same
machine.
# Use bindaddress=* only if you know exactly what you are doing
here,
# as it could let JServ wide open to the internet.
# You must understand that JServ has to answer only to Apache,
and should not
# be reachable by nobody but mod_jserv. So localhost is usually a
# good option. The second best choice would be an internal
network address
# (protected by a firewall) if JServ is running on another
machine than Apache.
# Ask your network admin.
# "*" may be used on boxes where some of the clients get
connected using
# "localhost"and others using another IP addr.
# Syntax: bindaddress=[ipaddress] or [localhost] or [*]
# Default: localhost
bindaddress=localhost
# Set the port Apache JServ listens to.
# Syntax: port=[1024,65535] (int)
# Default: 8007
port=8007
# Servlet Zones parameters
# List of servlet zones Apache JServ manages
# Syntax: zones=[servlet zone],[servlet zone]... (Comma
separated list of String)
# Default: NONE
zones=root
# Configuration file for each servlet zone (one per servlet zone)
# Syntax: [servlet zone name as on the zones list].properties=
[full path to configFile]
(String)
# Default: NONE
# Note: if the file could not be opened, try using absolute
paths.
root.properties=/d3/Apache/Jserv/etc/zone.properties
# Thread Pool parameters
# Enables or disables the use of the thread pool.
# Syntax: pool=true (boolean)
# Default: false
# WARNING: the pool has not been extensively tested and may
generate
deadlocks.
# For this reason, we advise against using this code in
production environments.
pool=false
# Indicates the number of idle threads that the pool may contain.
# Syntax: pool.capacity=(int)>0
# Default: 10
# NOTE: depending on your system load, this number should be low
for contantly
# loaded servers and should be increased depending on load
bursts.
pool.capacity=10
# Indicates the pool controller that should be used to control
the
# level of the recycled threads.
# Syntax: pool.controller=[full class of controller] (String)
# Default: org.apache.java.recycle.DefaultController
# NOTE: it is safe to leave this unchanged unless special
recycle behavior
# is needed. Look at the "org.apache.java.recycle" package
javadocs for more
# info on other pool controllers and their behavior.
pool.controller=org.apache.java.recycle.DefaultController
# Security parameters
# Enable/disable the execution of org.apache.jserv.JServ as a
servlet.
# This is disabled by default because it may give informations
that should
# be restricted.
# Note that the execution of Apache JServ as a servlet is
filtered by the web
# server modules by default so that both sides should be enabled
to let this
# service work.
# This service is useful for installation and configuration
since it gives
# feedback about the exact configurations Apache JServ is using,
but it should
# be disabled when both installation and configuration processes
are done.
# Syntax: security.selfservlet=true (boolean)
# Default: false
# WARNING: disable this in a production environment since may
give reserved
# information to untrusted users.
security.selfservlet=true
# Set the maximum number of socket connections Apache JServ may
handle
# simultaneously. Make sure your operating environment has
enough file
# descriptors to allow this number.
# Syntax: security.maxConnections=(int)>1
# Default: 50
security.maxConnections=50
# Backlog setting for very fine performance tunning of JServ.
# Unless you are familiar to sockets leave this value commented
out.
# security.backlog=5
# List of IP addresses allowed to connect to Apache JServ. This
is a first
# security filtering to reject possibly unsecure connections and
avoid the
# overhead of connection authentication.
# <warning>
# (please don't use the following one unless you know what you
are doing :
# security.allowedAddresses=DISABLED
# allows connections on JServ'port from entire internet.)
# You do need only to allow YOUR Apache to talk to JServ.
# </warning>
# Default: 127.0.0.1
# Syntax: security.allowedAddresses=[IP address],[IP Address]...
(Comma
separated list of IP addresses)
#security.allowedAddresses=127.0.0.1
# Enable/disable connection authentication.
# NOTE: unauthenticated connections are a little faster since
authentication
# handshake is not performed at connection creation.
# WARNING: authentication is disabled by default because we
believe that
# connection restriction from all IP addresses but localhost
reduces your
# time to get Apache JServ to run. If you allow other addresses
to connect and
# you don't trust it, you should enable authentication to
prevent untrusted
# execution of your servlets. Beware: if authentication is
disabled and the
# IP address is allowed, everyone on that machine can execute
your servlets!
# Syntax: security.authentication=[true,false] (boolean)
# Default: true
security.authentication=false
# Authentication secret key.
# The secret key is passed as a file that must be kept secure
and must
# be exactly the same of those used by clients to authenticate
themselves.
# Syntax: security.secretKey=[secret key path and filename]
(String)
# Default: NONE
# Note: if the file could not be opened, try using absolute
paths.
#security.secretKey=./etc/jserv.secret.key
# Length of the randomly generated challenge string (in bytes)
used to
# authenticate connections. 5 is the lowest possible choice to
force a safe
# level of security and reduce connection creation overhead.
# Syntax: security.challengeSize=(int)>5
# Default: 5
#security.challengeSize=5
# Logging parameters
# Enable/disable Apache JServ logging.
# WARNING: logging is a very expensive operation in terms of
performance. You
# should reduced the generated log to a minumum or even disable
it if fast
# execution is an issue. Note that if all log channels (see
below) are
# enabled, the log may become really big since each servlet
request may
# generate many Kb of log. Some log channels are mainly for
debugging
# purposes and should be disabled in a production environment.
# Syntax: log=[true,false] (boolean)
# Default: true
log=true
# Set the name of the trace/log file. To avoid possible
confusion about
# the location of this file, an absolute pathname is recommended.
# This log file is different than the log file that is in the
# jserv.conf file. This is the log file for the Java portion of
Apache
# JServ.
# On Unix, this file must have write permissions by the owner of
the JVM
# process. In other words, if you are running Apache JServ in
manual mode
# and Apache is running as user nobody, then the file must have
its
# permissions set so that that user can write to it.
# Syntax: log.file=[log path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute
paths.
log.file=/d3/Apache/Jserv/logs/jserv.log
# Enable the timestamp before the log message
# Syntax: log.timestamp=[true,false] (boolean)
# Default: true
log.timestamp=true
# Use the given string as a data format
# (see java.text.SimpleDateFormat for the list of options)
# Syntax: log.dateFormat=(String)
# Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz]
# Since all the messages logged are processed by a thread
running with
# minimum priority, it's of vital importance that this thread
gets a chance
# to run once in a while. If it doesn't, the log queue overflow
occurs,
# usually resulting in the OutOfMemoryError.
# To prevent this from happening, two parameters are used:
log.queue.maxage
# and log.queue.maxsize. The former defines the maximum time for
the logged
# message to stay in the queue, the latter defines maximum
number of
# messages in the queue.
# If one of those conditions becomes true (age > maxage || size
maxsize),# the log message stating that fact is generated and the log
queue is
# flushed in the separate thread.
# If you ever see such a message, either your system doesn't
live up to its
# expectations or you have a runaway loop (probably, but not
necessarily,
# generating a lot of log messages).
# WARNING: Default values are lousy, you probably want to tweak
them and
# report the results back to the development team.
# Syntax: log.queue.maxage = [milliseconds]
# Default: 5000
log.queue.maxage = 5000
# Syntax: log.queue.maxsize = [integer]
# Default: 1000
log.queue.maxsize = 1000
# Enable/disable logging the channel name
# Default: false
# log.channel=false
# Enable/disable channels, each logging different actions.
# Syntax: log.channel.[channel name]=[true,false] (boolean)
# Default: false
# Info channel - quite a lot of informational messages
# hopefully you don't need them under normal circumstances
# log.channel.info=true
# Servlets exception, i.e. exception caught during
# servlet.service() processing are monitored here
# you probably want to have this one switched on
log.channel.servletException=true
# JServ exception, caught internally in jserv
# we suggest to leave it on
log.channel.jservException=true
# Warning channel, it catches all the important
# messages that don't cause JServ to stop, leave it on
log.channel.warning=true
# Servlet log
# All messages logged by servlets. Probably you want
# this one to be switched on.
log.channel.servletLog=true
# Critical errors
# Messages produced by critical events causing jserv to stop
log.channel.critical=true
# Debug channel
# Only for internal debugging purposes
# log.channel.debug=true
#wrapper.classpath=/d3/ord/jlib/ordim.zip
#wrapper.classpath=/d3/ord/jlib/ordhttp.zip
# Oracle XSQL Servlet
wrapper.classpath=/d3/lib/oraclexsql.jar
# Oracle JDBC
wrapper.classpath=/d3/jdbc/lib/classes12.zip
# Oracle XML Parser V2 (with XSLT Engine)
wrapper.classpath=/d3/lib/xmlparserv2.jar
# Oracle XML SQL Components for Java
wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
# XSQLConfig.xml File location
wrapper.classpath=/d3/xdk/admin
# Oracle BC4J
wrapper.classpath=/d3/ord/jlib/ordim.zip
wrapper.classpath=/d3/ord/jlib/ordvir.zip
wrapper.classpath=/d3/ord/jlib/ordhttp.zip
wrapper.classpath=/d3/BC4J/lib/jndi.jar
wrapper.classpath=/d3/BC4J/lib/jbomt.zip
wrapper.classpath=/d3/BC4J/lib/javax_ejb.zip
wrapper.classpath=/d3/BC4J/lib/jdev-rt.jar
wrapper.classpath=/d3/BC4J/lib/jbohtml.zip
wrapper.classpath=/d3/BC4J/lib/jboremote.zip
wrapper.classpath=/d3/BC4J/lib/jdev-cm.jar
wrapper.classpath=/d3/BC4J/lib/jbodomorcl.zip
wrapper.classpath=/d3/BC4J/lib/jboimdomains.zip
wrapper.classpath=/d3/BC4J/lib/collections.jar
wrapper.classpath=/d3/Apache/Apache/htdocs/onlineorders_html
#wrapper.classpath=/d3/Apache/Apache/htdocs/OnlineOrders_html/Onl
ineOrders.jar
# The following classpath entries are necessary for EJBs to run
in IAS or DB when
present
wrapper.classpath=/d3/lib/aurora_client.jar
wrapper.classpath=/d3/lib/vbjorb.jar
wrapper.classpath=/d3/lib/vbjapp.jar
# Oracle Servlet
wrapper.classpath=/d3/lib/servlet.jar
# Oracle Java Server Pages
wrapper.classpath=/d3/jsp/lib/ojsp.jar
# Oracle Util
wrapper.classpath=/d3/jsp/lib/ojsputil.jar
# Oracle Java SQL
wrapper.classpath=/d3/sqlj/lib/translator.zip
# Oracle JDBC
#wrapper.classpath=/d3/jdbc/lib/classes12.zip
# SQLJ runtime
wrapper.classpath=/d3/sqlj/lib/runtime12.zip
# Oracle Messaging
wrapper.classpath=/d3/rdbms/jlib/aqapi.jar
wrapper.classpath=/d3/rdbms/jlib/jmscommon.jar
# OJSP environment settings
#wrapper.env=ORACLE_HOME=/d3
# The next line should be modified to reflect the value of the
SID for your
webserver.
#wrapper.env=ORACLE_SID=cmpdb
#wrapper.env=LD_LIBRARY_PATH=/d3/lib
## Enable the flag below if you are using jdk 1.2.2_05a or above
#wrapper.env=JAVA_COMPILER=NONE
# Advanced Queuing - AQXML
wrapper.classpath=/d3/rdbms/jlib/aqxml.jar
#wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
#wrapper.classpath=/d3/lib/xmlparserv2.jar
wrapper.classpath=/d3/lib/xschema.jar
#wrapper.classpath=/d3/jlib/jndi.jar
wrapper.classpath=/d3/jlib/jta.jar
oemreporting.properties=/d3/Apache/Jserv/oemreporting/oemreportin
g.properties
zones = root, oemreporting
wrapper.classpath=/d3/jlib/share-opt-1_1_9.zip
wrapper.classpath=/d3/jlib/caboshare-opt-1_0_3.zip
wrapper.classpath=/d3/jlib/marlin-opt-1_0_7.zip
wrapper.classpath=/d3/jlib/tecate-opt-1_0_4.zip
wrapper.classpath=/d3/jlib/ocelot-opt-1_0_2.zip
wrapper.classpath=/d3/jlib/regexp.jar
wrapper.classpath=/d3/jlib/sax2.jar
#wrapper.classpath=/d3/jlib/servlet.jar
wrapper.bin.parameters= -DORACLE_HOME=/d3
#wrapper.env=LD_LIBRARY_PATH=/d3/lib32
wrapper.env.copy=DISPLAY
wrapper.bin.parameters=-DORACLE_HOME=/d3
#wrapper.classpath=/d3/lib/vbjorb.jar
#wrapper.classpath=/d3/lib/vbjapp.jar
wrapper.classpath=/d3/classes/classesFromIDLVisi
wrapper.classpath=/d3/jlib/swingall-1_1_1.jar
wrapper.classpath=/d3/jlib/ewtcompat3_3_15.jar
wrapper.classpath=/d3/jlib/ewt-3_3_18.jar
wrapper.classpath=/d3/jlib/share-1_1_9.jar
wrapper.classpath=/d3/jlib/help-3_2_9.jar
wrapper.classpath=/d3/jlib/ice-5_06_3.jar
wrapper.classpath=/d3/jdbc/lib/classes111.zip
wrapper.classpath=/d3/classes
wrapper.classpath=/d3/jlib/oembase-9_0_1.jar
wrapper.classpath=/d3/jlib/oemtools-9_0_1.jar
wrapper.classpath=/d3/jlib
wrapper.classpath=/d3/jlib/javax-ssl-1_1.jar
wrapper.classpath=/d3/jlib/jssl-1_1.jar
wrapper.classpath=/d3/jlib/netcfg.jar
wrapper.classpath=/d3/jlib/dbui-2_1_2.jar
#wrapper.classpath=/d3/lib/aurora_client.jar
#wrapper.classpath=/d3/lib/xmlparserv2.jar
wrapper.classpath=/d3/network/jlib/netmgrm.jar
wrapper.classpath=/d3/network/jlib/netmgr.jar
wrapper.classpath=/d3/network/tools
wrapper.classpath=/d3/jlib/kodiak-1_2_1.jar
wrapper.classpath=/d3/sysman/jlib/netchart360.jar
wrapper.classpath=/d3/jlib/pfjbean.jar
wrapper.env=SHLIB_PATH=/d3/lib32
wrapper.env=LIBPATH=/d3/lib32
wrapper.classpath=/d3/ultrasearch/lib/isearch_midtier.jar
wrapper.classpath=/d3/ultrasearch/lib/isearch_query.jar
wrapper.classpath=/d3/ultrasearch/lib/jgl3.1.0.jar
wrapper.classpath=/d3/lib/mail.jar
wrapper.classpath=/d3/lib/activation.jar
wrapper.classpath=/d3/ultrasearch/jsp/admin/config
# Additions for iFS
## DO NOT REMOVE OR ALTER THE FOLLOWING LINE ....
# iFS true
# Uncomment if you want to use the same Jserv as other
applications
wrapper.classpath=/d3/9ifs/custom_classes
wrapper.classpath=/d3/9ifs/settings
wrapper.classpath=/d3/9ifs/lib/adk.jar
wrapper.classpath=/d3/9ifs/lib/email.jar
wrapper.classpath=/d3/9ifs/lib/http.jar
wrapper.classpath=/d3/9ifs/lib/release.jar
wrapper.classpath=/d3/9ifs/lib/repos.jar
wrapper.classpath=/d3/9ifs/lib/utils.jar
wrapper.classpath=/d3/9ifs/lib/webui.jar
wrapper.classpath=/d3/9ifs/lib/provider.jar
wrapper.classpath=/d3/jlib/javax-ssl-1_2.jar
wrapper.classpath=/d3/jlib/jssl-1_2.jar
wrapper.env=ORACLE_HOME=/d3
wrapper.env=ORACLE_SID=cmpdb
wrapper.env=LD_LIBRARY_PATH=/d3/lib:/d3/ctx/lib:/d3/lib32
wrapper.env=NLS_LANG=.US7ASCII
## Additions for the iFS zone
# Uncomment if you want to use the same Jserv as other
applications
zones=ifs
ifs.properties=/d3/Apache/Jserv/etc/ifs.properties
# End iFS sectionAbout your home page; Manually set up Firefox with the window(s) and tab(s)
the way you want them to be. Then;
'''''Firefox Options > General > Homepage'''''.
Press the button labeled ''''Use Current'''.'
=====================================
Open a new window or tab. In the address bar, type '''''about:config'''''.
If a warning screen comes up, press the '''''Be Careful''''' button.
This is where Firefox finds information it needs to run.
At the top of the screen is a search bar. Enter '''''browser.newtab.url'''''
and press enter. '''''browser.newtab.url'''''
tells Firefox what to show when a new tab is opened.
If you want, right click and select '''''Modify'''''. You can change the
setting to;<BR><BR>about:home (Firefox default home page),<BR>
about:newtab (shows the sites most visited),<BR>
about:blank (a blank page),<BR>
or you can enter any web page you want.<BR><BR>
The same instructions are used for the new window setting, listed as
'''''browser.startup.homepage'''''. -
Idoc with XSLT Mapping ALE service error
Hi all,
I have the same problem with "converting to an ALE logical system".
In this case I have a Business System without logical system name in the SLD. This information for the IDoc control record, like SNDPOR, I will map with a xslt mapping.
In weblogs from Michael are the properties for the directory described.
/people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
I selected in the comminication channel the last two check boxes, as described in SAP help.
"Take Sender from Payload
If you want to take the sender of the message from the payload and not from the configuration information in the Integration Directory, set this indicator.
If you do not set the indicator, the information is taken from the configuration in the Integration Directory.
Take Receiver from Payload
If you want to take the receiver of the message from the payload and not from the configuration information in the Integration Directory, set this indicator.
If you do not set the indicator, the information is taken from the configuration in the Integration Directory.
If you set both of the above indicators, you do not require a heading mapping and do not need to set the alternative identifiers.
However, you must ensure that the SNDPRN, SNDPRT, RCVPRN, and RCVPRT fields are set in the IDoc control record.
Setting the senders and receivers of a message from the payload simplifies configuration and speeds up processing.
If the sender and receiver are not set correctly in the payload, the resulting error is only visible in the receiving system. "
In my XSLT-Mapping I set the appropriate Idoc fields:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:preserve-space elements="*"/>
<xsl:template match="DATEN">
<_-XXX_-018_XXXXX_XIDATEN>
<IDOC>
<xsl:attribute name="BEGIN">1</xsl:attribute>
<EDI_DC40>
<xsl:attribute name="SEGMENT">1</xsl:attribute>
<TABNAM>EDI_DC40</TABNAM>
<DOCREL></DOCREL>
<DIRECT>2</DIRECT>
<IDOCTYP>_-XXX_-018_XXXXX_XIDATEN</IDOCTYP>
<MESTYP>_-XXX_-018_XXXXX_XIDATEN</MESTYP>
<SNDPOR></SNDPOR>
<SNDPRN>XXXXX01IN</SNDPRN>
<SNDPRT>LS</SNDPRT>
<RCVPOR>xxx</RCVPOR>
<RCVPRN>xxx</RCVPRN>
<RCVPRT>LS</RCVPRT>
</EDI_DC40>
<xsl:variable name="pid" select="substring(.,1,1)"/>
But in the sxmb_moni the message is red with the error message :" converting to an ALE logical system"
Have you any idea?
With another interface I used a graphic Mapping and the same properties in the directory and it works.
Bye
StefanHi togehter,
it works now, after cpa_cache and sxi_cache.
and and ...
<IDOCTYP>/XXX/018_XXXXX_XIDATEN</IDOCTYP>
<MESTYP>/XXX/018_XXXXX_XIDATEN</MESTYP>
Without: _-...
I would write a blog.
Does know one how that goes here?
Thanks
SDN is great
Stefan
Maybe you are looking for
-
Multi monitor issues with resolution(?)
At a customer I have got a really strange and annoying problem. The customer has got a Hyper-V VM with 2012 R2 Server as a RDS server aka Terminal Server. One user has got issues with his multi monitor setup. The connection settings seems to be OK. I
-
Razer Abyssus Problems with wow under MP early 2008
Yeah I got this new mouse wich is really awesome for gaming called Razer Abyssus, in the finder and other apps it works perfectly, but when im under world of warcraft the mouse keeps jumping everytime it'S really getting on my nervers tried various t
-
Error Opening After Effects CS3 - cannot load AERes1.dll
Hello, When I try to open After effects I get this Error "cannot load AERes1.DLL" I tried to reinstall after effects and it didnt dfix the problem. I uninstalled the entire Master collection CS3 and reinstalled and the problem didnt solve. I could op
-
I am begging any Tech Genius out there to help me out. I have a 3-year old (10GB) Ipod which after the 7.0 upgrade started giving me the message "ITunes cannot read the contents of the Ipod 'Podcasts.' Go to the summary tab in Ipod preferences and cl
-
Which is the following: int a = 51; int b = 60; int total = a / b * 100;giving me 0 the answer should be 69