Hi,
On Thu, Nov 11, 2010 at 12:55 PM, Vincent Massol <vincent(a)massol.net> wrote:
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
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users