打开CMS结构化内容解组XML文档失败。原因:null嵌套异常:null

时间:2012-03-26 15:19:13

标签: java xml opencms

我在开放式CMS中工作并试图让新的结构化内容正常工作我正在发现此错误。

解组XML文档失败。 原因:null嵌套异常:null

org.opencms.xml.CmsXmlException: Unmarshalling XML document failed.
    at org.opencms.xml.CmsXmlUtils.unmarshalHelper(CmsXmlUtils.java:654)
    at org.opencms.xml.CmsXmlUtils.unmarshalHelper(CmsXmlUtils.java:617)
    at org.opencms.xml.CmsXmlContentDefinition.unmarshal(CmsXmlContentDefinition.java:257)
    at org.opencms.file.types.CmsResourceTypeXmlContent.createResource(CmsResourceTypeXmlContent.java:143)
    at org.opencms.file.CmsObject.createResource(CmsObject.java:733)
    at org.opencms.workplace.explorer.CmsNewResourceXmlContent.actionCreateResource(CmsNewResourceXmlContent.java:181)
    at org.apache.jsp.WEB_002dINF.jsp.offline.system.workplace.commons.newresource_005fxmlcontent_jsp._jspService(newresource_005fxmlcontent_jsp.java:77)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.opencms.loader.CmsJspLoader.load(CmsJspLoader.java:509)
    at org.opencms.loader.CmsResourceManager.loadResource(CmsResourceManager.java:1052)
    at org.opencms.main.OpenCmsCore.showResource(OpenCmsCore.java:1489)
    at org.opencms.main.OpenCmsServlet.doGet(OpenCmsServlet.java:153)
    at org.opencms.main.OpenCmsServlet.doPost(OpenCmsServlet.java:166)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    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:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    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:291)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.dom4j.DocumentException: null Nested exception: null
    at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    at org.opencms.xml.CmsXmlUtils.unmarshalHelper(CmsXmlUtils.java:652)

这是我的模块的配置文件,而不是文件的protion控制此结构化内容

  <module>
            <name>edu.etbu.main.playerProfile</name>
            <nicename><![CDATA[Player Profile]]></nicename>
            <class/>
            <description/>
            <version>0.2</version>
            <authorname><![CDATA[Aaron Blakeley]]></authorname>
            <authoremail><![CDATA[webmaster@etbu.edu]]></authoremail>
            <datecreated/>
            <userinstalled/>
            <dateinstalled/>
            <dependencies/>
            <exportpoints>
                <exportpoint uri="/system/modules/edu.etbu.main.playerProfile/classes/" destination="WEB-INF/classes/"/>
            </exportpoints>
            <resources>
                <resource uri="/system/modules/edu.etbu.main.playerProfile/"/>
                <resource uri="/system/workplace/resources/filetypes/"/>
            </resources>
            <parameters/>
            <resourcetypes>
                <type class="org.opencms.file.types.CmsResourceTypeXmlContent" name="playerProfile" id="110">
                <param name="schema">/system/modules/edu.etbu.main.playerProfile/schemas/sportprofile.xsd</param>
                </type>
            </resourcetypes>
            <explorertypes>
                <explorertype name="playerProfile" key="fileicon.playerProfile" icon="playerProfile.gif" reference="xmlcontent">
                    <newresource page="structurecontent" uri="newresource_xmlcontent.jsp?newresourcetype=playerProfile" order="101" autosetnavigation="false" autosettitle="false" info="desc.playerProfile"/>
                    <accesscontrol>
                        <accessentry principal="GROUP.Administrators" permissions="+r+v+w+c"/>
                        <accessentry principal="GROUP.Projectmanagers" permissions="+r+v+w+c"/>
                        <accessentry principal="GROUP.Users" permissions="+r+v+w+c"/>
                    </accesscontrol>
                </explorertype>
            </explorertypes>
        </module>

这是我的XSD

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd"/>    
    <xsd:element name="playerProfile" type="OpenCmsPlayerProfile"/> 
    <xsd:complexType name="OpenCmsPlayerProfile">
        <xsd:sequence>
            <xsd:element name="playerProfile" type="OpenCmsPlayerProfile" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OpenCmsPlayerProfile">
        <xsd:sequence>
            <xsd:element name="Name" type="OpenCmsString"  />
            <xsd:element name="Picture" type="OpenCmsVfsFile" />
            <xsd:element name="Sport"  type="OpenCmsString"  />
            <xsd:element name="Position/Event" type="OpenCmsString"  />
            <xsd:element name="Bio" type="OpenCmsHtml"/>            
            <xsd:element name="School" type="OpenCmsString"  />
            <xsd:element name="Origin" type="OpenCmsString"  />
            <xsd:element name="Name" type="OpenCmsString"  />
            <xsd:element name="SpecialSportNotes" type="OpenCmsHtml"/>
        </xsd:sequence>
        <xsd:attribute name="language" type="OpenCmsLocale" use="required"/>
    </xsd:complexType>
    <xsd:annotation>
        <xsd:appinfo>
            <layouts>
                <layout element="Bio" widget="TextareaWidget" />
                <layout element="SpecialSportNotes" widget="HtmlWidget" configuration="source,link,anchor,formatselect,imagegallery,downloadgallery,linkgallery,htmlgallery,tablegallery,height:500px" />
                <layout element="Sport" widget="SelectorWidget" configuration="Women's Basketball|Men's Baseball|Women's Cross Country|Men's Soccer|Women's Tennis|Men's Tennis|VolleyBall|Softball|Men's Golf|Women's Soccer|Football|Women's Golf|Men's Cross Country" />             
                <layout element="Picture" widget="VfsFileWidget"/>                             
            </layouts>
        </xsd:appinfo>
    </xsd:annotation>

 </xsd:schema>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的xsd根元素名称必须以's',OpenCmsPlayerProfiles而不是OpenCmsPlayerProfile结尾,并且该类型必须与前缀“OpenCms”完全相同。

<xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd"/>    
<xsd:element name="PlayerProfiles" type="OpenCmsPlayerProfiles"/> 
<xsd:complexType name="OpenCmsPlayerProfiles">
    <xsd:sequence>
        <xsd:element name="PlayerProfile" type="OpenCmsPlayerProfile" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="OpenCmsPlayerProfile">
    <xsd:sequence>
        <xsd:element name="Name" type="OpenCmsString"  />
        <xsd:element name="Picture" type="OpenCmsVfsFile" />
        <xsd:element name="Sport"  type="OpenCmsString"  />
        <xsd:element name="Position/Event" type="OpenCmsString"  />
        <xsd:element name="Bio" type="OpenCmsHtml"/>            
        <xsd:element name="School" type="OpenCmsString"  />
        <xsd:element name="Origin" type="OpenCmsString"  />
        <xsd:element name="Name" type="OpenCmsString"  />
        <xsd:element name="SpecialSportNotes" type="OpenCmsHtml"/>
    </xsd:sequence>
    <xsd:attribute name="language" type="OpenCmsLocale" use="required"/>
</xsd:complexType>
<xsd:annotation>
    ...
</xsd:annotation>