ggachi73
57
2012-01-31 15:03:58
15
103886

xml 에서 error가 나는데요.


도무지 알수가 없습니다..
첨에 제우스+오라클로 개발했다고 들엇구요
로컬에는 톰켓7입니다.
다른 설정한건 없구요..그런 파일도 없는거 같고.. 
sql.xml파일은 프로젝트/web-inf/classes/slqmap/sql.xml이구요
sqlMapClientFactory.java는 프로젝트/src폴더 안에있어요..

* 아래는 에러 소스구요.

return getSqlMapClient("sqlmap/sqlmap.xml");
// return getSqlMapClient("/../../../../sqlmap/sqlmap.xml");
} catch (Exception e) {
throw new RuntimeException("Error initializing SqlMapClientFactory class. Cause : " + e);

* 아래는 에러 내용입니다,

ERROR [http-bio-8080-exec-10] DispatchAction.doProcess(132) | Error initializing SqlMapClientFactory class. Cause : java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xdf3a) was found in the CDATA section.
java.lang.RuntimeException: Error initializing SqlMapClientFactory class. Cause : java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xdf3a) was found in the CDATA section.
at com.aircode.kbs.admin.util.SqlMapClientFactory.getDefaultClient(SqlMapClientFactory.java:100)
at com.aircode.kbs.admin.biz.TiAdminuserBiz.<init>(TiAdminuserBiz.java:40)
at com.aircode.kbs.admin.action.IndexAction.login(IndexAction.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.aircode.kbs.admin.DispatchAction.dispatchMethod(DispatchAction.java:158)
at com.aircode.kbs.admin.DispatchAction.doProcess(DispatchAction.java:95)
at com.aircode.common.intf.Action.doGet(Action.java:58)
at com.aircode.common.intf.Action.doPost(Action.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
0
  • 답변 15

  • youtome
    232
    2012-01-31 15:09:52
    XML에서 사용할 수 없는 문자열이 들어가서 그렇습니다. 간혹 다른 캐릭터 셋으로 저장하고 UTF-8로 읽거나 하면 생길 수 있습니다.
  • 대전개발자커뮤니티
    901
    2012-01-31 15:11:01
    1. 에러 메시지 참조
    : Cause: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xdf3a) was found in the CDATA section.

    2. 원인
    : SqlMapClient init loading 시점에 XML 파싱 에러

    3. 해결 방안
    : 에러가 발생할 요지가 있는 SqlMap 파일을 검토하여 올바른 XML Element 요소 처리.

    PS: SqlMap 파일을 올려주세요. ^^
  • 대전개발자커뮤니티
    901
    2012-01-31 15:25:18
    상기 파일에서 계정 정보는 보안상 문제가 될 수 있으니 어서 삭제하세요
  • ggachi73
    57
    2012-01-31 15:25:19
    소스에 sqlMapConfig.xml이 없는데...빠진거 같은데...넣어야 될까요?
  • ggachi73
    57
    2012-01-31 15:27:51

    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">


    maxTransactions="5" useStatementNamespaces="true" />






























  • 대전개발자커뮤니티
    901
    2012-01-31 15:36:56
    1. 참고 사항
    상기 내용은 아래와 같은 형태로 사용하세요.
    ->

    2. 현재 파일을 보니깐요

    "" target="_blank">http://www.ibatis.com/dtd/sql-map-config-2.dtd">
    -------------------------------------------------------------------
    더블쿼테이션("") 이 DTD 선언부에 두개 들어간것도 보이내요.
    제가 보기에는 직접 DTD 선언부를 코딩하지 마시구요
    ibatis.jar 소스 파일에서 해당 선언부를 Copy & Paste하시는게 좋을 듯합니다.

    그래도 동일한 에러가 나시면 선언부에서 다 지우시구요 하나씩 추가해보세요.
    이때 sqlMap 의 DTD 선언부도 코딩하지 마시구요 Copy & Paste 하시면 됩니다.

    많은 도움이 못되어 드리네요 왜냐하면 제가 로컬에서 돌려볼 수도 없는 거라서요.
    하지만 현재 문제는 XML 파일의 문제이니깐

    첫째 SqllMapConfig.xml 파일을 검증하세요. 이때 sqlMap 선언은 반드시 한개는 존재하셔야 하며
    둘째 SqlMap 파일을 검증하세요.
    셋째 상기 내용까지 문제 없으시면 SqlMap 파일을 하나씩 추가해보세요
    상기 내용을 기준으로 하시면 처리가 가능하실거에요
  • ggachi73
    57
    2012-01-31 15:40:32
    답변 감사합니다.
    이해도 잘 못하겠지만 일단 해 보겠습니다.
  • 대전개발자커뮤니티
    901
    2012-01-31 15:43:31
    해결이 안되시면 원격 콜 요청하세요.
    네이트온 계정을 올려주시면 요청드릴께요.
    삽질하는 개발자의 한사람으로서....
  • ggachi73
    57
    2012-01-31 15:55:00
    쿼테이션은 복사하며 생긴거 같네요..
    근데요 한가지!
    ->
    이렇게 바꾸란 말씀같은데요.
    부모태그랑 이름 같은데....

  • ggachi73
    57
    2012-01-31 15:57:03
    해당 태그는 삭제하고
    부모태그에 내용을 추가하란 의미신가요??
  • 대전개발자커뮤니티
    901
    2012-01-31 16:00:44










  • ggachi73
    57
    2012-01-31 16:02:14
    네 역시 그런뜻이군요...;;;
  • 로그인을 하시면 답변을 등록할 수 있습니다.