ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominic Edwards <dominicedwa...@hotmail.com>
Subject FW: Ibatis xml problem - Document root element "sqlmapconfig", must match DOCTYPE root "sqlMap".
Date Fri, 01 Feb 2008 15:06:53 GMT





Hi,
 
I'm very new to iBATIS and am just tring to put together a very simple iBATIS application.
Currently the application fails on the first call to an iBATIS procedure. I'm using :
 
MyEclipse 6.0.1
iBATIS 2.3.0
J2EE 1.4
Tomcat 6.0
 
There seems to be a problem with the xml files which I am really stumped on. I have researched
the issue online and found various references to similar cases but no CLEAR solutions have
been posted. I have tried updating the url of the validation dtd files, adding the doctype
tag of the map.xml file to the sql config file, even changing the utf type from 8 to 16 and
nothing seems to work.
 
I am NOT using Spring or any other framework at this stage - just a class taken from the iBATIS
jpetstore demo, mapping to a local mysql db table from the same project. In theory my set
up could not be simpler, it's completely stripped down (am I missing something !?) , although
my connection is firewalled which is my only idea as to the problem. Cheers.
 
STACK TRACE:
 
01-Feb-2008 13:50:38 org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet jsp threw exception
org.xml.sax.SAXParseException: Document root element "sqlmapconfig", must match DOCTYPE root
"sqlMap".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown
Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown
Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown
Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:189)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:59)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:106)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:90)
at com.ibatis.jpetstore.sql.QueryDatabase.getAccount(QueryDatabase.java:23)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:64)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
01-Feb-2008 13:51:13 org.apache.catalina.startup.HostConfig checkResourcesINFO: Reloading
context [/ibatis] 
CONFIG FILE :
 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlmapconfig>

<transactionmanager type="JDBC">

<datasource type="SIMPLE">

<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://localhost/jpetstore" />
<property name="JDBC.Username" value="jpetstoreusr" />
<property name="JDBC.Password" value="parrot" />

</datasource>

</transactionmanager>

<sqlmap resource="com/ibatis/jpetstore/entities/maps/Account.xml" />

</sqlmapconfig>
 
MAP FILE:
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd"> 
<sqlmap namespace="Account"> 

<typealias alias="account" type="com.ibatis.jpetstore.entities.Account"/> 

<resultmap id="accounts" class="account"> 
<result property="userID" column="userid"/> 
<result property="email" column="email"/> 
<result property="firstName" column="firstname"/> 
<result property="lastName" column="lastname"/> 
</resultmap> 

<select id="getAccount" resultClass="accounts" parameterClass="java.lang.Integer"> 
SELECT 
userid, email, firstname, lastname 
FROM jpetstore.account 
where 
userid = #value# 
</select> 

</sqlmap> 
 
Thanks for your help on this one !!
 
 
Dom Edwards
 

Sounds like? How many syllables? Guess and win prizes with Search Charades! 
_________________________________________________________________
Get Hotmail on your mobile, text MSN to 63463!
http://mobile.uk.msn.com/pc/mail.aspx
Mime
View raw message