incubator-jspwiki-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Murray Altheim <murra...@altheim.com>
Subject Re: Transclude plugin
Date Wed, 06 Feb 2008 21:27:18 GMT
Stephen Dahl wrote:
> Is the Ceryle Transclude plugin known to work or not work with JSPWiki 
> 2.6.0?
> 
> This plugin invocation:
> 
>     [{TranscludePlugin page='JSPWiki:Main'}]
> 
> ...worked OK on JSPWiki 2.4.102, but on 2.6.0, I get this error message
> 
>     Error, failed to reach: http://www.jspwiki.org/wiki/RPC2/ Exception: 
> org.apache.xmlrpc.XmlRpcClientException: Error decoding XML-RPC response 
> Message: Error decoding XML-RPC response

I'm not sure, but my guess is that jspwiki.org doesn't have XML-RPC
enabled, so you'd get an error. But obviously this isn't a very
friendly error, so I added a stack trace as well to the code and
received this:

  Fatal error parsing XML: org.xml.sax.SAXParseException: invalid Character Entitiy

Given the misspelling of "Entitiy" I tracked that down to the
MinML code (trust misspellings to act as truffles to pigs). In
looking at problem there it's a matter of some poor programming,
since the string out of bounds exception is just poor parser
design.

I have to say that I don't understand why the heck the XML-RPC
code feels the need to use little hacks like MinML when Java
itself provides a reliable XML parser, where this kind of thing
wouldn't have provoked so low a level an exception (i.e., been
handled better than that). If Java didn't provide an XML parser
when the current version of XML-RPC was written they could have
at least used one of the more solid parsers (I say this having
seen problems like this arise before due to trying to use
noncompliant parsers).

We are using an older version of Apache XML-RPC and the current
version (3.1) doesn't use MinML. We haven't upgraded because of
time constraints and not wanting to break something that isn't
broken. This does sound a bit broken though.

[...]
> Caused by: java.lang.StringIndexOutOfBoundsException: String index out 
> of range: 255
>     at java.lang.String.charAt(String.java:558)
>     at uk.co.wilson.xml.MinML.parse(MinML.java:371)
>     at uk.co.wilson.xml.MinML.parse(MinML.java:487)
>     at org.apache.xmlrpc.XmlRpc.parse(XmlRpc.java:472)
>     at 
> org.apache.xmlrpc.XmlRpcClientResponseProcessor.decodeResponse(XmlRpcClientResponseProcessor.java:68)

> 
>     ... 104 more
> --------
> 
> Unfortunately, I don't know Throwable well enough to find out what's 
> hidden in that "... 104 more".

That wouldn't have provided any more help -- the problem was found to
be in the XML-RPC code to an invalid character entity occurring
in the response to wiki.getPageHTML. This is a bug either in the
Apache XML-RPC code (which is out of date) or in MinML's handling of
invalid content, not in TranscludePlugin per se. You should probably
file a bug against that.

The response from the plugin:

    Error, failed to reach: http://www.jspwiki.org/wiki/RPC2/ Exception:
    org.apache.xmlrpc.XmlRpcClientException: Error decoding XML-RPC
    response Message: Error decoding XML-RPC response

could possibly be friendlier but is reasonably appropriate to the
problem. I'll look into modifying TranscludePlugin to provide a
more helpful response, perhaps in the logs or something to permit
easier debugging.

Murray

...........................................................................
Murray Altheim <murray07 at altheim.com>                           ===  = =
http://www.altheim.com/murray/                                     = =  ===
SGML Grease Monkey, Banjo Player, Wantanabe Zen Monk               = =  = =

       Boundless wind and moon - the eye within eyes,
       Inexhaustible heaven and earth - the light beyond light,
       The willow dark, the flower bright - ten thousand houses,
       Knock at any door - there's one who will respond.
                                       -- The Blue Cliff Record

Mime
View raw message