On Apr 2, 2008, at 10:23 PM, Ludovic Dubost wrote:
This is new code in XWiki 1.3+ Just add one line to test for the NULL and not put it in the map
Well this is a quick and probably non-working workaround. The correct way is to initialize Plexus in XMLRPC mode too. Right now it's initialized in Servlet mode only I think. For example if you need to do any velocity stuff (which is the case in the XMLRPC API I believe when retrieving a page's rendered content) it won't work since Velocity rendering is now done in a component. I guess I'll have to look into this to do a proper Plexus initialization in XMLRPC mode. -Vincent
Asiri Rathnayake wrote:
Hi Ludovic,
I've been working on assembling a servlet using your webdav code, xwiki-core and other relevant dependencies. Although i could deploy the WebDAV servlet, I have few things I can't get pass,
* What do I need to do so that once deployed the webdav servlet will use an instance of hsqldb ( like the stand-alone xwiki installation ) ?
* Currently when I make a request to the servlet, I get the following error,
2008-04-02 20:21:19,597 [http://localhost:8080/DAVServer/] [http-8080-Processor24] ERROR [/DAVServer].[DAVServlet] - Servlet.service() for servlet DAVServlet threw exception java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:396) at com.xpn.xwiki.web.Utils.prepareContext(Utils.java:274) at com .xpn .xwiki .plugin .webdav .XWikiDavResourceImpl.getXWikiContext(XWikiDavResourceImpl.java:317) at com .xpn .xwiki .plugin .webdav.XWikiDavResourceImpl.<init>(XWikiDavResourceImpl.java:180) at com .xpn .xwiki .plugin .webdav .XWikiResourceFactoryImpl .createResource(XWikiResourceFactoryImpl.java:96) at com .xpn .xwiki .plugin .webdav .XWikiResourceFactoryImpl .createResource(XWikiResourceFactoryImpl.java:63) at com .xpn .xwiki.plugin.webdav.XWikiDavServlet.service(XWikiDavServlet.java: 340)
Tracking down reveals that the code in Utils,
ComponentManager componentManager = (ComponentManager) engine_context.getAttribute(ComponentManager.class.getName()); context.put(ComponentManager.class.getName(), componentManager);
Is throwing a null-pointer exception where componentManager is NULL. I believe this has something to with plexus, could tell me how to overcome this ?
I'm sort of stuck at this point, any help is really appreciated.
Btw, Ludovic, how were you able to test your code ?
Thanks a lot.
- Asiri