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
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to