Login  Register

Re: Re: running 3.6 on Weblogic

Posted by mangvlad on Mar 25, 2008; 4:42pm
URL: https://discuss.orbeon.com/running-3-6-on-Weblogic-tp43526p43541.html

Alex,

Thank you for you research. Ability to run on WL 10 is indeed a requirement for us, but I am hoping maybe re-rooting antlr may solve this problem.

I hope that at some point soon I can learn how to build Orbeon on my own and at that point maybe I can experiment with that re-rooting approach myself.

Thanks,
Vlad

Alessandro Vernet wrote
On Fri, Mar 21, 2008 at 8:01 PM, Alessandro Vernet <avernet@orbeon.com> wrote:
>  So are you saying that you have seen with WebLogic 10.0 MP1 the same
>  problem we have seen with 10.3 Tech Preview?

I gave it a try and indeed the problem is the same with 10.0 MP1. The
full exception is quoted in the bug linked below. This is an issue
with antlr, and re-rooting antlr might solve the issue completely, or
there might be another problem after this. The problem here is that
version of antlr that comes with WebLogic takes the precedence over
the one that comes with eXist, which leads to this ClassCastException.

WebLogic can be instructed that classes in the war file should have
the precedence over WebLogic classes. This is done with
<prefer-web-inf-classes> to true in the weblogic.xml (see attached).
This gets us past the antlr issue, but gives us another exception:

java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilderFactory
        at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
        at org.exist.http.RESTServer.doPost(RESTServer.java:538)
        at org.exist.http.servlets.EXistServlet.doPost(EXistServlet.java:523)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

Setting <prefer-web-inf-classes> to true also seems to pose other
problems (see this thread:
http://forums.bea.com/thread.jspa?threadID=600014830&start=0), and a
solution seems to be to use the weblogic-application.xml
<prefer-application-packages> construct to selectively tell WebLogic
which packages should be loaded from the application. Unfortunately
this requires an EAR, and we just have a WAR here. We could do an EAR
in addition to the WAR, but I would prefer to avoid this.

I have also tried to change eXist's RESTServer to instead of doing
DocumentBuilderFactory.newInstance() (and going through the factory)
call directly new
orbeon.apache.xerces.jaxp.DocumentBuilderFactoryImpl(). We get through
this one, but hit a NoClassDefFoundError in
XMLDBCreated.evalWithCollection(XMLDBCreated.java:108).

So, sorry, I don't have a solution for you with WebLogic 10 at this point.

Alex
--
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
Orbeon's Blog: http://www.orbeon.com/blog/
Personal Blog: http://avernet.blogspot.com/


<weblogic-web-app
        xmlns="http://www.bea.com/ns/weblogic/90"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/920/weblogic-web-app.xsd">

   
   
   

    <resource-description>
        <res-ref-name>jdbc/db</res-ref-name>
        <jndi-name>weblogic.jdbc.jts.oxf</jndi-name>
    </resource-description>

    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>

</weblogic-web-app>


--
You receive this message as a subscriber of the ops-users@ow2.org mailing list.
To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
For general help: mailto:sympa@ow2.org?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws


-----
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
http://www.orbeon.com/