I'm using tomcat 4.1.24 and i'm tryng to use tyrex but i get always this error.....
TyrexResourceFactory: Cannot create Tyrex Resource, Exception
javax.naming.NamingException: Could not create TransactionDomain: Nested error: java.lang.IllegalArgumentException: The prefix 'xml' is reserved (XML 1.0 Specification) and cannot be declared.
at org.apache.naming.factory.TyrexFactory.getTransactionDomain(TyrexFactory.java:138)
at org.apache.naming.factory.TyrexResourceFactory.getObjectInstance(TyrexResourceFactory.java:136)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:186)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:307)
at org.apache.naming.NamingContext.lookup(NamingContext.java:834)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:183)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at org.apache.jsp.testDB_jsp._jspService(testDB_jsp.java:49)
<URL>jdbc:oracle:thin:@linuxMachine:1521:cadb</URL>
<maxStatements>100</maxStatements>
<implicitCachingEnabled>true</implicitCachingEnabled>
<user>ale</user>
<password>ale</password>
<loginTimeout>10000</loginTimeout>
<isolationLevel>2</isolationLevel>
</config>
<limits>
<!-- Start with 1 connections, never go below 1,
and never go above 1 -->
<maximum>1</maximum>
<minimum>1</minimum>
<initial>1</initial>
<!-- Discard connections idle for 1 minutes -->
<maxRetain>60</maxRetain>
<!-- If maximum reached, block for 10 seconds -->
<timeout>10</timeout>
</limits>
</dataSource>
</resources>
</domain>
Can you help me???
Thanks.
Ale
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't think this is a Tyrex issue as the exception is coming from org.apache.naming.factory.TyrexFactory, which is part of Tomcat.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-10-20
I experience the same problem when using using Tyrex outside Tomcat configuration. I try to create a transaction domain as descibed in the "Using Tyrex" documentation inside a servlet (for testing only).
The source:
ClassLoader loader = this.getClass().getClassLoader();
InputStream domainIs = loader.getResourceAsStream("/domain.xml");
InputSource domainSource = new InputSource(domainIs);
The domain.xml file:
<domain>
<name>managementDomain</name>
</domain>
When I run the code, the following exception occurs:
java.lang.IllegalArgumentException: The prefix 'xml' is reserved (XML 1.0 Specification) and cannot be declared.
at org.exolab.castor.xml.Namespaces.addNamespace(Namespaces.java:130)
at org.exolab.castor.xml.UnmarshalHandler.startPrefixMapping(UnmarshalHandler.java:1953)
at org.apache.xerces.parsers.AbstractSAXParser.startNamespaceMapping(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:583)
at org.exolab.castor.mapping.Mapping.loadMappingInternal(Mapping.java:515)
at org.exolab.castor.mapping.Mapping.loadMapping(Mapping.java:441)
at tyrex.tm.TransactionDomain.createDomain(TransactionDomain.java:434)
at tyrex.tm.TransactionDomain.createDomain(TransactionDomain.java:221)
at com.conax.management.datamanagement.JtaTestAction.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
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:2416)
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.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
It seems like the error is in the loadMapping method. Is there a bug in the mapping.xml file?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm using tomcat 4.1.24 and i'm tryng to use tyrex but i get always this error.....
TyrexResourceFactory: Cannot create Tyrex Resource, Exception
javax.naming.NamingException: Could not create TransactionDomain: Nested error: java.lang.IllegalArgumentException: The prefix 'xml' is reserved (XML 1.0 Specification) and cannot be declared.
at org.apache.naming.factory.TyrexFactory.getTransactionDomain(TyrexFactory.java:138)
at org.apache.naming.factory.TyrexResourceFactory.getObjectInstance(TyrexResourceFactory.java:136)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:186)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:307)
at org.apache.naming.NamingContext.lookup(NamingContext.java:834)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:183)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at org.apache.jsp.testDB_jsp._jspService(testDB_jsp.java:49)
....
....
this is an extract of my server.xml
<Context className="org.apache.catalina.core.StandardContext" crossContext="false" reloadable="false" mapperClass="org.apache.catalina.core.StandardContextMapper" useNaming="true" debug="0" swallowOutput="false" privileged="false" wrapperClass="org.apache.catalina.core.StandardWrapper" docBase="/opt/jakarta-tomcat-4.1.24/webapps/callcenter" cookies="true" path="/callcenter" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper">
<Environment name="tyrexDomainConfig" type="java.lang.String" value="domain-config.xml"/>
<Environment name="tyrexDomainName" type="java.lang.String" value="tyrexDomain"/>
<Resource name="jdbc/CallCenter" auth="Container" type="tyrex.resource.Resource"/>
<ResourceParams name="jdbc/CallCenter">
<parameter>
<name>name</name>
<value>tyrexds</value>
</parameter>
</ResourceParams>
</Context>
and this is the domain-config.xml
<?xml version='1.0' encoding='utf-8'?>
<domain>
<name>tyrexDomain</name>
<resources>
<dataSource>
<name>tyrexds</name>
<jar>/home/ale/MyLib/SharedLibrary/classes12.jar</jar>
<class>javax.sql.DataSource</class>
<config>
<URL>jdbc:oracle:thin:@linuxMachine:1521:cadb</URL>
<maxStatements>100</maxStatements>
<implicitCachingEnabled>true</implicitCachingEnabled>
<user>ale</user>
<password>ale</password>
<loginTimeout>10000</loginTimeout>
<isolationLevel>2</isolationLevel>
</config>
<limits>
<!-- Start with 1 connections, never go below 1,
and never go above 1 -->
<maximum>1</maximum>
<minimum>1</minimum>
<initial>1</initial>
<!-- Discard connections idle for 1 minutes -->
<maxRetain>60</maxRetain>
<!-- If maximum reached, block for 10 seconds -->
<timeout>10</timeout>
</limits>
</dataSource>
</resources>
</domain>
Can you help me???
Thanks.
Ale
I don't think this is a Tyrex issue as the exception is coming from org.apache.naming.factory.TyrexFactory, which is part of Tomcat.
I experience the same problem when using using Tyrex outside Tomcat configuration. I try to create a transaction domain as descibed in the "Using Tyrex" documentation inside a servlet (for testing only).
The source:
ClassLoader loader = this.getClass().getClassLoader();
InputStream domainIs = loader.getResourceAsStream("/domain.xml");
InputSource domainSource = new InputSource(domainIs);
TransactionDomain tm = TransactionDomain.createDomain(domainSource);
The domain.xml file:
<domain>
<name>managementDomain</name>
</domain>
When I run the code, the following exception occurs:
java.lang.IllegalArgumentException: The prefix 'xml' is reserved (XML 1.0 Specification) and cannot be declared.
at org.exolab.castor.xml.Namespaces.addNamespace(Namespaces.java:130)
at org.exolab.castor.xml.UnmarshalHandler.startPrefixMapping(UnmarshalHandler.java:1953)
at org.apache.xerces.parsers.AbstractSAXParser.startNamespaceMapping(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:583)
at org.exolab.castor.mapping.Mapping.loadMappingInternal(Mapping.java:515)
at org.exolab.castor.mapping.Mapping.loadMapping(Mapping.java:441)
at tyrex.tm.TransactionDomain.createDomain(TransactionDomain.java:434)
at tyrex.tm.TransactionDomain.createDomain(TransactionDomain.java:221)
at com.conax.management.datamanagement.JtaTestAction.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
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:2416)
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.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
It seems like the error is in the loadMapping method. Is there a bug in the mapping.xml file?