WEBLOGIC 10.3.6 deployment Issue : Unable to deploy EJBs

Hi Expert,

We are trying to upgrade our app server from Weblogic 10.3.5 to 10.3.6. We are following the "patch application" way. When we try to deploy the EAR (running in WLS 10.3.5) in 10.3.6, we are getting the following exception  and hence we are not able to do successful deployment:

Unable to deploy EJB: /bea/bea1035.......... from testEJBrel6_0.jar:
weblogic.application.ModuleException: Exception preparing module: EJBModule(testEJBrel6_0.jar)

        at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:469)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
        Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalArgumentException
        at oracle.xml.jaxp.JXDocumentBuilderFactory.setAttribute(JXDocumentBuilderFactory.java:149)

        at com.bea.core.repackaged.springframework.beans.factory.xml.DefaultDocumentLoader.createDocumentBuilderFactory(Unknown Source)
        at com.bea.core.repackaged.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(Unknown Source)
        at com.bea.core.repackaged.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(Unknown Source)
        at com.bea.core.repackaged.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(Unknown Source)
        Truncated. see log file for complete stacktrace

Please suggest what is triggering this exception and how to resolve.

Thanks in advance.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Attach complete stacktrace from log file?
SANJAY HALDARAuthor Commented:
wrong. Different exception.
So attach entire server console log from server start to error.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

SANJAY HALDARAuthor Commented:
SANJAY HALDARAuthor Commented:
Do we have any solution to the posted query ?
IllegalArgumentException must produce some sensible text.
Looking at backtrace it looks that your JAR file has invalid XML somewhere.
SANJAY HALDARAuthor Commented:
We have the application specific EJB jars in the EAR, when we try to deploy the application the very first jar of the application is encountering this issue, if we take away this jar from the EAR (to test) the next jar is hitting the same issue.

For this scenario, does you previous comments refer that the invalid XML can be in all the EJB jars?, any identification methodology?
Can you rebuild EAR. It could also happen that you cloned some jar from old weblogic into EAR and now weblogic gets confused which version is good.
SANJAY HALDARAuthor Commented:
We are using/deploying the same EAR which we had for WLS 10.3.5 into WLS 10.3.6. I believe we are just changing the minor version only (.5 to .6), the EAR should be working fine.
SANJAY HALDARAuthor Commented:
Since we do not have any firm solution to this issue yet and the question has been tagged Neglected. What should be done with this query.
Caused By: java.lang.IllegalArgumentException
      at oracle.xml.jaxp.JXDocumentBuilderFactory.setAttribute(JXDocumentBuilderFactory.java:149)

Which means new weblogic encountered bad XML down its path?
SANJAY HALDARAuthor Commented:
Well, we are suspecting one of the 3rd party jar (antlr) to be the issue behind, which we were using in 10.3.5 for hibernate support. This jar is not going good along with 10.3.6

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It does not show any problems with jars (should be deprecation warning from java7 if>6 upgrade added that)
SANJAY HALDARAuthor Commented:
But the error points towards the parsing (jaxp).
But weblogic's internal parser is indicated. I'd trust what it says (but your suspicion might be better - try newer antlr instead, especiallly if you upgraded to java7)
SANJAY HALDARAuthor Commented:
Our assessment was correct, the antlr jar which we are using in the application was conflicting with the one in WLS and hence was NOT allowing the app server to parse the EJBs.
You see - you know it alll...
You can deploy a library for single web app in single managed server only.
the lib/ of domain is for privileged modules like system monitors and authentication addons.
SANJAY HALDARAuthor Commented:
Since we have solved the issue by removing the ANTLR conflict, what shall we do further with the query. Pls advice.
Close question accepting your first message refering to antlr.
SANJAY HALDARAuthor Commented:
Noted. Thanks.
SANJAY HALDARAuthor Commented:
Thank you gheist for all your help.
SANJAY HALDARAuthor Commented:
WebLogic uses server specific antlr jar for parsing EJB’s. The application as well needs this jar to parse the HQLs. To be given precedence to the application specific jar over WebLogic version jar, we should have this mentioned in the weblogic-application.xml.

This approach was working fine in WLS 10.3.5.
In WLS 10.3.6, the above mentioned entry in the weblogic-application.xml was causing issue while parsing EJB’s and in turn deployment was failing.
There might be changes done in WLS 10.3.6 way of parsing when compared to WLS 10.3.5

The problem will be resolved by removing the weblogic-application.xml file from application ear.
In order to give priority for application level (hibernate specific) antlr jar over Weblogic antlr jar, we have set the following parameter (PRE_CLASSPATH) in the in setDomainEnv.cmd or setDomainEnv.sh file of the respective Weblogic domain where the application is deployed
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java App Servers

From novice to tech pro — start learning today.