Menu

Could not create TransactionDomain

Help
Alessandro
2003-10-10
2003-10-20
  • Alessandro

    Alessandro - 2003-10-10

    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

     
    • Riad Mohammed

      Riad Mohammed - 2003-10-16

      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.

       
    • Anonymous

      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);

      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?

       

Log in to post a comment.