Hi, On Thu, Nov 11, 2010 at 12:55 PM, Vincent Massol <[email protected]> wrote:
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 < [email protected]> 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?
XOffice already checks the XE version for several reasons. For this particular issue, I'd prefer to implement the fix it rather then saying it's incompatible. First thing to do until a release is done, is to at least document this on the wiki. The client relies on the XML-RPC and REST APIs which means that it should be compatible with the server as long as nothing changes in the API specs. I cannot confirm the exact cause of the issue yet. But based on the hint from Marius I could say that the xhtml parser should have accepted the old image marker for several versions. XML-RPC is a backwards compatible API, once we introduced the conversion methods, it means we commit to having them working properly across several XWiki versions. Florin
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
users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users