Xwiki 13.8 and WebLogic 12.2.1

Hi,
does anyone has suceeded in installing last Xwiki on Weblogic 12.2.1 or has some experiences with it?
I have some issues with it so first I am asking whether it is feasible with Xwiki 13.8.

On installation page there is mentioned: XWiki is a Java-based wiki and runs on a Servlet Container such as Tomcat, Jetty, JBoss, WebLogic, WebSphere, etc.
But weblogic is not mentioned on a page with supported, nor unsupported servlet containers.

Moreover on Java Support Strategy page I found that you were about to drop support for Java 8 (and Weblogic runs only on Java 8).

Thx for any comments

Yes, nobody has provided any WebLogic-specific instruction page. Now WebLogic is a servlet container so it’s sure that it can work with XWiki. Maybe you may need to provide some WebLogic configuration for example if WebLogic doesn’t isolate its own classpath from the webapp classpath (that’s a typical one for servlet containers).

In any case, if you need help, you should post the error you’re getting here. Maybe someone will recognize the problem and be able to help out.

I’d be very surprised that WL doesn’t run on Java 11. Just googled and found:

Oracle WebLogic Server 14c (14.1. 1.0. 0) is certified for use with JDK 11 , in addition to JDK 8.

Yes, but I was referring to Weblogic 12.2.1, which runs only on Java 8.

I am getting errors like these: (example just 5 of them)

<11.10.2021 15:12:57,652 CEST> <Unable to parse class file: zip:C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1633957959573/xwiki.war/lpldy/war/WEB-INF/lib/carte-util-3.5.1.jar!/module-info.class. >
<11.10.2021 15:12:58,285 CEST> <Unable to parse class file: zip:C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1633957959573/xwiki.war/lpldy/war/WEB-INF/lib/bcprov-jdk15on-1.69.jar!/META-INF/versions/11/org/bouncycastle/jcajce/provider/asymmetric/edec/KeyAgreementSpi$X448.class. >
<11.10.2021 15:12:58,344 CEST> <Unable to parse class file: zip:C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1633957959573/xwiki.war/lpldy/war/WEB-INF/lib/bcprov-jdk15on-1.69.jar!/META-INF/versions/11/org/bouncycastle/jcajce/provider/asymmetric/edec/KeyFactorySpi$Ed25519.class. >
<11.10.2021 15:12:58,473 CEST> <Unable to parse class file: zip:C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1633957959573/xwiki.war/lpldy/war/WEB-INF/lib/css4j-dom4j-3.6.0.jar!/module-info.class. >
<11.10.2021 15:12:58,481 CEST> <Unable to parse class file: zip:C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1633957959573/xwiki.war/lpldy/war/WEB-INF/lib/bcprov-jdk15on-1.69.jar!/META-INF/versions/11/org/bouncycastle/jcajce/provider/asymmetric/edec/BC11XDHPublicKey.class. >

I can see there jdk15, versions 11 - so it seems it has sth to do with Java versions. So first of all I wanted to make sure it is supported/feasible.

This means you’ll need to upgrade your WL instance, use another servlet container or you’ll have to stay on XWiki 13.x.

They seem to all be the same error. BTW are they errors or warnings? Do they prevent the deployment of the xwiki WAR or not? Did you google about the error to see what the internet has to say about it?

Thanks

I made a couple of experiments.

I tried Xwiki 13.7. - direct download of war - no success.
When I tried to build my own war from 13.7. - deployment in Weblogic was “successfull” (weblogic showed: Active). But in weblogic logs there were still these errors. But according to a comment they are not issue and can be ignored. When I ran it for the first time a configuration applet started loading, but it reached 92% and then it crashed. - In logs there were the same errors as here. But in my case I could not continue - it just crashed. When I put this war in Tomcat it worked with no problem, no errors.
Then I tried to build war from 13.8. But deployment on Weblogic did not succeed (UnsatisfiedDependencyException).
I tried to build war from 12.10.10 - deployment was ‘Active’, but it was not possibble to access the page - 404-NotFound and start configuration.
I tried to build war from 13.6. and 13.2 - the same behaviour as with 13.7.

So different versions with different results/behaviour on Weblogic. It seems Weblogic is not fully supported. Tomcat is supported, but when app runs on Tomcat it does not mean it can successfully run also on Weblogic. There are also some differences - e.g. when Tomcat processes headers it displays them in lowercase, Weblogic does not. Since it was not tested on Weblogic, one can not be sure it can successfully run. So that was the reason I first came up with a question, whether someone succeded in installing Xwiki on Weblogic.

I found out that someone had succeeded with Xwiki 8.3.
So I tried 8.3 as well. I had to use the same workaround for java.lang.ClassCastException (XWikiServletRequest cannot be cast to weblogic.servlet.internal.ServletRequestImpl).
This version could be deployed, even DistributionWizard was displayed and I could fill it and continue - so in this case it was progress (I got further).
But I had issues with CSS - graphic was broken (Error while evaluating velocity template colorThemeInit.vm) and there were also displayed some errors with stacktrace on the page, so it could not be used, but at least some progress in “running” Xwiki on Weblogic.
Since Xwiki 8.3 I haven’t registered any success with running Xwiki on Weblogic.

Hi, it’s hard to help you without detailed errors. So far the only error we got from you is:

<11.10.2021 15:12:57,652 CEST> <Unable to parse class file: zip:C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1633957959573/xwiki.war/lpldy/war/WEB-INF/lib/carte-util-3.5.1.jar!/module-info.class. >

However that seems to be a warning more than an error. Maybe you should check so that WL doesn’t try to use java modules.

Then you mentioned UnsatisfiedDependencyException but I don’t see any log for this nor any details…

Also re CSS and other errors, again we cannot help without error logs. At first sight it doesn’t look related to WL unless you can show us some XWiki or WL logs related to it.

Right now I don’t have the time to try to deploy XWiki on WL and do the analysis, unfortunately, so we need your help to help us debug the problems (hence the need for detailed errors).

Thanks and thanks for reporting about your progresses!

Aren’t you mixing the web server and the servlet container? You can choose to use whatever web server you wish I guess (nginx, apache, etc), if you want the same web server behavior for different servlet containers.

I’m quite convinced that XWiki will run on WL, with some WL config settings. It’s a servlet container and thus obeys the servlet container spec.

Unable to parse class file - it is error, in log it is specified so (but when I put it here text “error” was removed, due to xwiki syntax), but as I mentioned probably it should be warning according behaviour.
I mentioned just this one, because there were plenty of these ones, but it seems this one is not issue.
But there are no other significant errors in logs, so I have no idea what is going wrong when applet is loading and suddenly it “crash” - and then there is just white page.

In older versions there are of course other errors which I just briefly mentioned. But I did not dig into it deeper, I believe you would tell me that Xwiki 8.3 is very old, so I did not put much effort into it.

Concerning my exmaple of differences (Tomcat vs Weblogic), yes it was container specific, see discussion1 and discussion2

As I mentioned - to make Xwiki 8.3 run on Weblogic it was necessary to modify source code. So thats why I am not convicned Xwiki can easily run on Weblogic, because with 8.3 it was not so.

I think the best thing would be if someone from developers could find little time with installing Weblogic and trying deploying Xwiki. Only developers could know what is right work flow, correct initialization, what to expect, where is bottleneck.
Maybe this could be done as part of testing process (when you just test any app in different environments, you just find more and more errors, issues to optimize etc…). More enviroments, more testing, more quality.