On Nov 11, 2010, at 11:50 AM, Florin Ciubotaru wrote:
Hi Marius,
On Thu, Nov 11, 2010 at 10:06 AM, Marius Dumitru Florea <
mariusdumitru.florea(a)xwiki.com> wrote:
Florin, I suspect you have to update the XHTML
that XWord generates when
the user inserts an image to match the rendering module expectations.
See
http://jira.xwiki.org/jira/browse/XWIKI-5554 . Starting with XE 2.5
image and link markers (the XHTML comments used by the rendering module)
use the same syntax. Let me know if you need any help.
Indeed, this could be the cause of the issue. I would have expected this
behavior to be backwords compatible or having the old one deprecated for
several XWiki versions as we receive this 'formated' XHTML trough public
APIs. At this point the conversion will simply crash when used by an older
client.
IMO we should check the version of XE when XWord connects to it and if it's not
compatible mention it.
WDYT?
Thanks
-Vincent
Florin
>
> Marius
>
> On 11/11/2010 07:11 AM, Paul Harris wrote:
>> Hi Abel and all,
>>
>> This is what the stderr spits out when you try and upload an image via
>> xword:
>> 2010-11-11 12:56:46,297 [
>>
http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences] INFO
>> .AbstractXWikiMigrationManager - No storage migration required since
>> current version is [15429]
>> 2010-11-11 12:58:59,508 [
http://130.95.212.23:8080/xwiki/xmlrpc] ERROR
>> server.XmlRpcStreamServer - execute: Error while performing request
>> org.apache.xmlrpc.common.XmlRpcInvocationException: Failed to invoke
> method
>> convert in class com.xpn.xwiki.xmlrpc.XWikiXmlRpcApiImpl: Exception while
>> performing syntax conversion.
>> at
>>
>
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:126)
>> at
>>
>
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:103)
>> at
>>
> org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:43)
>> at
> org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:83)
>> at
>>
> org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:191)
>> at
>>
>
org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:104)
>> at
>> org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:191)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
>> at
>>
>
com.xpn.xwiki.wysiwyg.server.filter.XWikiContextInitializationFilter.doFilter(XWikiContextInitializationFilter.java:87)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>>
> com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:68)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>>
>
org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:218)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>>
>
org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>> at
>>
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>> at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>> at
>>
>
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>> at
>>
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> at org.mortbay.jetty.Server.handle(Server.java:326)
>> at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
>> at
>>
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
>> at
>>
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>> at
>>
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>> Caused by: java.lang.RuntimeException: Exception while performing syntax
>> conversion.
>> at
>>
> com.xpn.xwiki.xmlrpc.XWikiXmlRpcApiImpl.convert(XWikiXmlRpcApiImpl.java:1387)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at
>>
>
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:112)
>> ... 34 more
>> Caused by: org.xwiki.rendering.converter.ConversionException: Failed to
>> parse input source
>> at
>>
>
org.xwiki.rendering.internal.converter.DefaultConverter.convert(DefaultConverter.java:56)
>> at
>>
> com.xpn.xwiki.xmlrpc.XWikiXmlRpcApiImpl.convert(XWikiXmlRpcApiImpl.java:1383)
>> ... 39 more
>> Caused by: org.xwiki.rendering.parser.ParseException: Failed to parse
> input
>> source
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:142)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:97)
>> at
>>
>
org.xwiki.rendering.internal.converter.DefaultConverter.convert(DefaultConverter.java:52)
>> ... 40 more
>> Caused by: org.wikimodel.wem.WikiParserException:
>> java.lang.ArrayIndexOutOfBoundsException: 1
>> at org.wikimodel.wem.xhtml.XhtmlParser.parse(XhtmlParser.java:107)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:140)
>> ... 42 more
>> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.xhtml.XHTMLMarkerResourceReferenceParser.parse(XHTMLMarkerResourceReferenceParser.java:53)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.xhtml.XWikiCommentHandler.handleImageCommentStop(XWikiCommentHandler.java:180)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.xhtml.XWikiCommentHandler.onComment(XWikiCommentHandler.java:103)
>> at
>>
> org.wikimodel.wem.xhtml.impl.XhtmlHandler$TagStack.onComment(XhtmlHandler.java:347)
>> at
>> org.wikimodel.wem.xhtml.impl.XhtmlHandler.comment(XhtmlHandler.java:567)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.comment(DefaultXMLFilter.java:73)
>> at
>>
>
org.wikimodel.wem.xhtml.filter.XHTMLWhitespaceXMLFilter.comment(XHTMLWhitespaceXMLFilter.java:250)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.comment(DefaultXMLFilter.java:73)
>> at
>>
>
org.wikimodel.wem.xhtml.filter.AccumulationXMLFilter.comment(AccumulationXMLFilter.java:77)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.comment(DefaultXMLFilter.java:73)
>> at
>> org.wikimodel.wem.xhtml.filter.DTDXMLFilter.comment(DTDXMLFilter.java:78)
>> at org.apache.xerces.parsers.AbstractSAXParser.comment(Unknown
> Source)
>> at
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanComment(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.XML11NonValidatingConfiguration.parse(Unknown
>> Source)
>> at
>> org.apache.xerces.parsers.XML11NonValidatingConfiguration.parse(Unknown
>> Source)
>> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>> at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:44)
>> at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:44)
>> at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:44)
>> at org.wikimodel.wem.xhtml.XhtmlParser.parse(XhtmlParser.java:104)
>> ... 43 more
>> Caused by:
>> java.lang.RuntimeException: Exception while performing syntax conversion.
>> at
>>
> com.xpn.xwiki.xmlrpc.XWikiXmlRpcApiImpl.convert(XWikiXmlRpcApiImpl.java:1387)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at
>>
>
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:112)
>> at
>>
>
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:103)
>> at
>>
> org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:43)
>> at
> org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:83)
>> at
>>
> org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:191)
>> at
>>
>
org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:104)
>> at
>> org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:191)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
>> at
>>
>
com.xpn.xwiki.wysiwyg.server.filter.XWikiContextInitializationFilter.doFilter(XWikiContextInitializationFilter.java:87)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>>
> com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:68)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>>
>
org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:218)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>>
>
org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
>> at
>>
>
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>> at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>> at
>>
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>> at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>> at
>>
>
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>> at
>>
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> at org.mortbay.jetty.Server.handle(Server.java:326)
>> at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
>> at
>>
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
>> at
>>
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>> at
>>
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>> Caused by: org.xwiki.rendering.converter.ConversionException: Failed to
>> parse input source
>> at
>>
>
org.xwiki.rendering.internal.converter.DefaultConverter.convert(DefaultConverter.java:56)
>> at
>>
> com.xpn.xwiki.xmlrpc.XWikiXmlRpcApiImpl.convert(XWikiXmlRpcApiImpl.java:1383)
>> ... 39 more
>> Caused by: org.xwiki.rendering.parser.ParseException: Failed to parse
> input
>> source
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:142)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:97)
>> at
>>
>
org.xwiki.rendering.internal.converter.DefaultConverter.convert(DefaultConverter.java:52)
>> ... 40 more
>> Caused by: org.wikimodel.wem.WikiParserException:
>> java.lang.ArrayIndexOutOfBoundsException: 1
>> at org.wikimodel.wem.xhtml.XhtmlParser.parse(XhtmlParser.java:107)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:140)
>> ... 42 more
>> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.xhtml.XHTMLMarkerResourceReferenceParser.parse(XHTMLMarkerResourceReferenceParser.java:53)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.xhtml.XWikiCommentHandler.handleImageCommentStop(XWikiCommentHandler.java:180)
>> at
>>
>
org.xwiki.rendering.internal.parser.wikimodel.xhtml.XWikiCommentHandler.onComment(XWikiCommentHandler.java:103)
>> at
>>
> org.wikimodel.wem.xhtml.impl.XhtmlHandler$TagStack.onComment(XhtmlHandler.java:347)
>> at
>> org.wikimodel.wem.xhtml.impl.XhtmlHandler.comment(XhtmlHandler.java:567)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.comment(DefaultXMLFilter.java:73)
>> at
>>
>
org.wikimodel.wem.xhtml.filter.XHTMLWhitespaceXMLFilter.comment(XHTMLWhitespaceXMLFilter.java:250)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.comment(DefaultXMLFilter.java:73)
>> at
>>
>
org.wikimodel.wem.xhtml.filter.AccumulationXMLFilter.comment(AccumulationXMLFilter.java:77)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.comment(DefaultXMLFilter.java:73)
>> at
>> org.wikimodel.wem.xhtml.filter.DTDXMLFilter.comment(DTDXMLFilter.java:78)
>> at org.apache.xerces.parsers.AbstractSAXParser.comment(Unknown
> Source)
>> at
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanComment(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.XML11NonValidatingConfiguration.parse(Unknown
>> Source)
>> at
>> org.apache.xerces.parsers.XML11NonValidatingConfiguration.parse(Unknown
>> Source)
>> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>> at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:44)
>> at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:44)
>> at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> at
>>
> org.wikimodel.wem.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:44)
>> at org.wikimodel.wem.xhtml.XhtmlParser.parse(XhtmlParser.java:104)
>> ... 43 more
>>
>>
>> Looks like XWord generates invalid XML ? Ideas?
>>
>> I'll add this to jira too.
>>
>> cheers
>> Paul