Hi, I am facing the problem with the transformation for files having in the path letters outside a-z range. For example �. Could you please help me to resolve my problem and tell me how correctly and succesfully handle this case?
I am using Win2000 Tomcat/4.0-b5 or HPAS Xalan jars taken from xalan-j_2_4_D1 http://xml.apache.org/xalan-j/index.html Xerces jars taken from xerces-2_0_2 http://xml.apache.org/dist/xerces-j/ 21-Jun-2002 11:32 4.6M xalan.jar (961 KB) xercesImpl.jar (1,689 KB) xml-apis.jar (106 KB) xmlParserAPIs.jar (77 KB) I have a servlet which suppose to transform xml file using xsl stylesheet. 1.The requirement is that the xml and xsl files are located in the filesystem under subdirectory containing � character in its name. 2. The stylesheet references other stylesheet using xsl:include. The included stylesheet is located at this same subdirectory as master stylesheet - then under the directory structure containing � . the directory structure is: servlet context \test-� \xml \test.xml \xsl \test.xsl \included.xsl First scenario using systemID When I am setting systemId to be file://C:\tomcat\webapps\tsservlet\test-�\xsl\ ( the full path to the resource ) I am observing an exception stating "Path contains invalid character: �". (The Tomcat reports � as n. Other app servers reports �). It looks to me that URI object is following the URI spec RFC 2396. It looks to me that � should be encoded. I was trying different options to encode the systemId using java.net.URLEncoder object but no luck. Second scenario custom URIResolver. I am setting custom URIResolver capable to load resources relative to servlet context. In order to make it work I needed to encode � in the stylesheet which references included.xsl.( Exception when � is in the path ). How do I encode it? RFC1738 - I see at least two ways: %FC or UTF-8 %C3%BC. Which one and why? <xsl:include href="/test-%FC/xsl/included.xsl"/> or <xsl:include href="/test-%C3%BC/xsl/included.xsl"/> What is the rule/standard how characters outside a-z range should be encoded? The resolver decodes the path and is loading included stylesheet correctly. I made this working but I do not feel good about this solution. ************************************************ Can you please use my sample code to investigate the case. Please let me know what is a correct way to handle this case. Especially I like to know if scenario 1 not working is a "normal" behavior. If it is normal is it documented somewhere? Attached sample code has two scenarios. The scenario 2 is commented. To run scenario 2 comment scenario 1 and uncomment scenario 2. You need to unzip it, if you are deploying to Tomcat - unzip it to webapps subdirectory. You need to add to WEB-INF\lib directory the following jars: xalan.jar xercesImpl.jar xml-apis.jar xmlParserAPIs.jar Invoke the sample from the browser as http://localhost:<port>/tsservlet. You should get the page with the text "Click here to start the servlet." Click the link and if things are working correctly you should get as a result the page with the text: "First international char: � Second international char: � ". Below is a stack trace for the exception generated by scenario 1. The stack trace from Tomcat is: org.apache.xml.utils.URI$MalformedURIException: Path contains invalid character: n at org.apache.xml.utils.URI.initializePath(URI.java:800) at org.apache.xml.utils.URI.initialize(URI.java:474) at org.apache.xml.utils.URI.<init>(URI.java:232) at org.apache.xml.utils.URI.<init>(URI.java:215) at org.apache.xml.utils.SystemIDResolver.getAbsoluteURI(SystemIDResolver.java:2 51) at org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.ja va:173) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler. java:658) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno wn Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc her.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa ctoryImpl.jav a:983) at TransformingServlet.processRequest(C:/tomcat/webapps/tsservlet/WEB-INF/class es/Transformi ngServlet.java:54) at TransformingServlet.doGet(C:/tomcat/webapps/tsservlet/WEB-INF/classes/Transf ormingServlet .java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.j ava:254) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:194) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:255) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:225) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 875) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952) at java.lang.Thread.run(Thread.java:484) --------- javax.xml.transform.TransformerException: org.apache.xml.utils.URI$MalformedURIException: Path conta ins invalid character: n at org.apache.xalan.processor.StylesheetHandler.error(StylesheetHandler.java:95 0) at org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.ja va:203) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler. java:658) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno wn Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc her.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa ctoryImpl.jav a:983) at TransformingServlet.processRequest(C:/tomcat/webapps/tsservlet/WEB-INF/class es/Transformi ngServlet.java:54) at TransformingServlet.doGet(C:/tomcat/webapps/tsservlet/WEB-INF/classes/Transf ormingServlet .java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.j ava:254) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:194) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:255) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:225) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 875) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952) at java.lang.Thread.run(Thread.java:484) --------- javax.xml.transform.TransformerException: org.apache.xml.utils.URI$MalformedURIException: Path conta ins invalid character: n at org.apache.xml.utils.SystemIDResolver.getAbsoluteURI(SystemIDResolver.java:2 58) at org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.ja va:173) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler. java:658) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno wn Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc her.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa ctoryImpl.jav a:983) at TransformingServlet.processRequest(C:/tomcat/webapps/tsservlet/WEB-INF/class es/Transformi ngServlet.java:54) at TransformingServlet.doGet(C:/tomcat/webapps/tsservlet/WEB-INF/classes/Transf ormingServlet .java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.j ava:254) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:194) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:255) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:225) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 875) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952) at java.lang.Thread.run(Thread.java:484) --------- org.apache.xml.utils.URI$MalformedURIException: Path contains invalid character: n at org.apache.xml.utils.URI.initializePath(URI.java:800) at org.apache.xml.utils.URI.initialize(URI.java:474) at org.apache.xml.utils.URI.<init>(URI.java:232) at org.apache.xml.utils.URI.<init>(URI.java:215) at org.apache.xml.utils.SystemIDResolver.getAbsoluteURI(SystemIDResolver.java:2 51) at org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.ja va:173) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler. java:658) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno wn Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc her.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa ctoryImpl.jav a:983) at TransformingServlet.processRequest(C:/tomcat/webapps/tsservlet/WEB-INF/class es/Transformi ngServlet.java:54) at TransformingServlet.doGet(C:/tomcat/webapps/tsservlet/WEB-INF/classes/Transf ormingServlet .java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.j ava:254) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:194) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:255) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:225) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 875) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952) at java.lang.Thread.run(Thread.java:484) --------- org.apache.xml.utils.URI$MalformedURIException: Path contains invalid character: n at org.apache.xml.utils.URI.initializePath(URI.java:800) at org.apache.xml.utils.URI.initialize(URI.java:474) at org.apache.xml.utils.URI.<init>(URI.java:232) at org.apache.xml.utils.URI.<init>(URI.java:215) at org.apache.xml.utils.SystemIDResolver.getAbsoluteURI(SystemIDResolver.java:2 51) at org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.ja va:173) at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler. java:658) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno wn Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc her.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.StandardParserConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa ctoryImpl.jav a:983) at TransformingServlet.processRequest(C:/tomcat/webapps/tsservlet/WEB-INF/class es/Transformi ngServlet.java:54) at TransformingServlet.doGet(C:/tomcat/webapps/tsservlet/WEB-INF/classes/Transf ormingServlet .java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.j ava:254) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:194) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:255) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:225) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 875) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952) at java.lang.Thread.run(Thread.java:484) _________________________________ Kinga Dziembowski Hewlett Packard HP Bluestone Middleware Division 6000 Irwin Road Mt. Laurel, NJ 08054 856.638.6065
tsservlet.zip
Description: Binary data
