ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: Problems trying to deploy ODE in OC4J application server
Date Wed, 30 Jul 2008 15:17:03 GMT
On Tue, Jul 29, 2008 at 6:56 PM, Sergio Tridente <tioduke@gmail.com> wrote:

> Hi,
>
> First of all, I am pretty new to ODE so I want to apologize if this an
> abvious situation. I am posting here because searching the net did not give
> me the answers I am looking for.
>
> I am working on a project (mainly a rich client application) where we are
> using JDev as our development platform and OC4J as the application server.
> We are currently evaluating the possibility of using ODE for implementing
> some BPEL stuff the project requires.
>

I'm not aware of anyone who tried ODE with OC4J so I'm not surprised you're
having a few difficulties. ODE is a plain webapp so normally <irony
level="max">it should work on any app server</irony>


>
> I am trying to deploy the ODE's WAR file. Here are some of the problems I
> have encountered:
>
> 1) I deployed the WAR file into OC4J's application folder. I also deployed
> the three examples that come with the WAR download by copying the three
> directories into ode's WEB-INF/processes folder.
>
> 2) While starting the AS  I got was the following exception:
>
> java.lang.NoSuchMethodError: javax.wsdl.xml.WSDLLocator.close()V
>  at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL
>
> After some googling I found out the problem had to do with wsdl4j.jar. The
> thing is OC4J comes with version 1.5.1 while ODE is bundled with version
> 1.6.1. I tried replacing OC4J's version with ODE's as someone suggested in
> the Internet but that did not work. I work-arounded this problem by puting
> 1.5.1's com.ibm.wsdl.xml.WSDLReaderImpl.class file into the WEB-INF/classes
> directory.
>
> 3) I started the AS again and now ODE started up and was able to deploy the
> HelloWorld2 example. I tested it and it worked fine. However, it failed
> with
> the other two samples giving the following message:
>
> FATAL - GeronimoLog.fatal(120) | Encountered an unexpected error. Exiting
> poller...
> java.lang.IncompatibleClassChangeError: Class
> org.apache.ode.bpel.elang.xpath10.compiler.JaxenBpelHandler does not
> implement the requested interface org.jaxen.saxpath.XPathHandler
>
> After spending quite some time, I worked around this problem by replacing
> OC4J's version of jaxen.jar with ODE's (currently version 1.1.1)
>
> 4) I restarted the server and now the third example deployed correctly
> (MagicSession). I tested it and it worked fine.
>
> So far so good, however I am still failing trying to make DynPartner's
> example work. The error I am now getting is the following:
>
> ERROR - GeronimoLog.error(108) | Deployment of DynPartner failed, aborting
> for now.
> java.lang.ClassCastException:
> org.apache.ode.bpel.compiler.wsdl.Definition4BPELImpl cannot be cast to
> oracle.j2ee.ws.wsdl.DefinitionImpl
>
> I am running out of ideas. Could someone give me some help? I would be
> really thankful.
>

Given that OC4J seem to use its own versions of WSDL4J and Jaxen, you won't
get very far if you can't get it to isolate the webapp classloader from the
server classloarder. Theoretically, all app servers should at a minimum be
able to not leak their own libraries all over the place. Practically, most
(not too good) app servers leak their libraries like a sieve.

So my advice would be to check your OC4J documentation and see if there are
options that can provide isolation of the webapp classloader from the main
server classloader or the ability to exclude some server libraries from the
webapp classloader.

Good luck,
Matthieu


>
> BTW, ODE and te three samples worked fine on JBoss after some tweaking
> (removing some of geronimo's jars and using an external DataSource).
>
> Thank you in advance.
>
> --.
> --
> Best regards,
>
> Sergio Tridente
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message