[Building Sakai] WebCT import: "Content is not allowed in prolog"

will at serensoft.com will at serensoft.com
Wed Feb 10 10:59:04 PST 2010


Three years later and we've got a similar problem :)

The ZIP/QTI file is from WebCT Vista, and it's throwing the "Content is not
allowed in prolog" error message in the logs -- in the interface it just
says "There was an error importing this assessment. Ensure that the file is
correctly formatted IMS QTI. Error
details:org.sakaiproject.tool.assessment.services.qti.QTIServiceException:
java.lang.NullPointerException"

Is there a quick xml-tweak that would make this all play nice?


[Fatal Error] :1:1: Content is not allowed in prolog.
2010-02-10 13:52:56,239 ERROR TP-Processor7
org.sakaiproject.tool.assessment.qti.util.XmlUtil - Content is not allowed
in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:264)
        at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:98)
        at
org.sakaiproject.tool.assessment.qti.util.XmlUtil.readDocument(XmlUtil.java:326)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.createImportedAssessment(XMLImportBean.java:290)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.processFile(XMLImportBean.java:224)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.importFromQti(XMLImportBean.java:118)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.importAssessment(XMLImportBean.java:107)
        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:585)
        at
com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
        at javax.faces.component.UIInput.broadcast(UIInput.java:492)
        at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:249)
        at
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:343)
        at
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
        at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.corejsf.UploadFilter.doFilter(UploadFilter.java:139)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
        at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at
org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:285)
        at org.sakaiproject.jsf.util.JsfTool.doPost(JsfTool.java:256)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
        at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:475)
        at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
        at
org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
        at
org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
        at
org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:70)
        at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1059)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
        at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
        at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
2010-02-10 13:52:56,245 ERROR TP-Processor7
org.sakaiproject.tool.assessment.qti.helper.AuthoringHelper -
java.lang.NullPointerException
        at
org.sakaiproject.tool.assessment.qti.util.XmlStringBuffer.parseContent(XmlStringBuffer.java:268)
        at
org.sakaiproject.tool.assessment.qti.util.XmlStringBuffer.getDocument(XmlStringBuffer.java:169)
        at
org.sakaiproject.tool.assessment.qti.helper.ExtractionHelper.map(ExtractionHelper.java:247)
        at
org.sakaiproject.tool.assessment.qti.helper.ExtractionHelper.mapAssessment(ExtractionHelper.java:203)
        at
org.sakaiproject.tool.assessment.qti.helper.AuthoringHelper.createImportedAssessment(AuthoringHelper.java:489)
        at
org.sakaiproject.tool.assessment.qti.helper.AuthoringHelper.createImportedAssessment(AuthoringHelper.java:466)
        at
org.sakaiproject.tool.assessment.services.qti.QTIService.createImportedAssessment(QTIService.java:95)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.createImportedAssessment(XMLImportBean.java:296)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.processFile(XMLImportBean.java:224)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.importFromQti(XMLImportBean.java:118)
        at
org.sakaiproject.tool.assessment.ui.bean.qti.XMLImportBean.importAssessment(XMLImportBean.java:107)
        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:585)
        at
com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
        at javax.faces.component.UIInput.broadcast(UIInput.java:492)
        at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:249)
        at
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:343)
        at
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
        at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.corejsf.UploadFilter.doFilter(UploadFilter.java:139)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
        at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at
org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:285)
        at org.sakaiproject.jsf.util.JsfTool.doPost(JsfTool.java:256)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
        at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:475)
        at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
        at
org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
        at
org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
        at
org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:70)
        at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1059)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
        at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
        at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)


On Fri, Jan 19, 2007 at 1:38 PM, Ian Goh <ian.goh at jhu.edu> wrote:

> Hi All,
>
> I downloaded, configured and built the  import/webct for Sakai 2.3.
>
> Import from File seems to go through all the motions of importing a content
> package .zip, and says the import is complete.  However nothing ever shows
> up in Resources.
> Here's what I see in catalina.out:
>
> When I pick the content .zip file:
>
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:63: White spaces are required between publicId and
> systemId.
> [Fatal Error] :1:24: Open quote is expected for attribute "name" associated
> with an  element type  "meta".
> [Fatal Error] :1:24: Open quote is expected for attribute "name" associated
> with an  element type  "meta".
> [Fatal Error] :1:24: Open quote is expected for attribute "name" associated
> with an  element type  "meta".
> [Fatal Error] :1:24: Open quote is expected for attribute "name" associated
> with an  element type  "meta".
> [Fatal Error] :1:24: Open quote is expected for attribute "name" associated
> with an  element type  "meta".
>
> [Fatal Error] :1:1: Content is not allowed in prolog.
> [Fatal Error] :1:1: Content is not allowed in prolog.
> [Fatal Error] :1:1: Content is not allowed in prolog.
> [Fatal Error] :1:1: Content is not allowed in prolog.
> [Fatal Error] :1:1: Content is not allowed in prolog.
> [Fatal Error] :1:1: Content is not allowed in prolog.
> INFO: Getting import items from manifest. (2007-01-19 14:31:45,405
> http-8080-Processor23_org.sakaiproject.cheftool.VelocityPortletPaneledAction)
>
> I see the correct items that are in my manifest organization. I choose one
> item that I know is a file.
>
> When I click on copy materials and finish:
>
> INFO: doSaveMtrlSite() about to import 1 top level items (2007-01-19
> 14:32:06,267
> http-8080-Processor23_org.sakaiproject.cheftool.VelocityPortletPaneledAction)
> INFO: doSaveMtrlSite() the importDataSource is
> org.sakaiproject.importer.impl.BasicImportDataSource (2007-01-19
> 14:32:06,267
> http-8080-Processor23_org.sakaiproject.cheftool.VelocityPortletPaneledAction)
>
> And it's complete. But nothing in Resources.
>
> - Ian
>
> ----------------------
>
> This automatic notification message was sent by Sakai Collab (
> https://collab.sakaiproject.org/portal) from the DG: Development (a.k.a.
> sakai-dev) site.
> You can modify how you receive notifications at My Workspace > Preferences.
>
>


-- 
will trillich
"The ancestor of every action is a thought" -- Ralph Waldo Emerson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20100210/0f858517/attachment.html 


More information about the sakai-dev mailing list