Hello, I'm trying to save a document from inside a job [1] execution, as follows roughly: xwiki.getXWiki(context).saveDocument(doc, comment, context); Nothing really special ... It used to work (out of a job), but now it throws NPE: <trace>com.xpn.xwiki.XWiki.stripSegmentFromPath(XWiki.java:4725)</trace> <trace>com.xpn.xwiki.XWiki.getRequestWikiName(XWiki.java:566)</trace> <trace>com.xpn.xwiki.XWiki.getXWiki(XWiki.java:492)</trace> <trace>org.xwiki.contrib.mailarchive.internal.persistence.XWikiPersistence.saveAsUser(XWikiPersistence.java:678)</trace> Checking source code, it happens there (sorry, I roughly decompiled it): /* 560 */ if ("1".equals(Param("xwiki.virtual.usepath", "1"))) { /* 561 */ String uri = request.getRequestURI(); /* 562 */ if (LOGGER.isDebugEnabled()) { /* 563 */ LOGGER.debug("Request uri is: " + uri); /* */ } /* */ /* 566 */ uri = stripSegmentFromPath(uri, request.getContextPath());
From the logs in DEBUG, I see:
"Request uri is: null" ... which is kind of logical I believe, as I'm in a Thread triggered by another thread, and not directly in an http request. I'm not sure of what I should do from here ... And if my analysis is correct, or if something else is wrong. Maybe I should do something with ExecutionContext ... Thanks, BR, Jeremie [1] http://extensions.xwiki.org/xwiki/bin/view/Extension/Job+Module