IBM's JDK actually isn't broken with respect to the DOMImplementations.
It actually works like it's supposed to. I've changed the code so it
should now work with both IBM and Sun JDK's. It will try the "correct"
way first, and if that fails, then fallback to the hack that's needed to
work on the Sun JDK. That said, the Celtix unit tests fail in SEVERAL
places with IBM's JDK. Thus, I'm not sure how well the celtix binding
will work.
Also, the IBM JDK doesn't honor the @SuppressWarnings annotation. Thus,
you will see more warnings with IBM's.
Thanks!
Dan
On Monday 08 May 2006 18:44, Daniel Kulp wrote:
> Raymond,
>
> > I ran into the same problem. I'm using IBM JDK 5.0. Do we have a
> > special reason to use the class which seems to me an interanal stuff?
>
> Well, we technically don't use internal stuff. Ideally, we'd just
> call:
>
> DOMImplementationRegistry registry =
> DOMImplementationRegistry.newInstance();
> DOMImplementationLS impl =
> (DOMImplementationLS)registry.getDOMImplementation("LS");
>
> The problem is that the SUN JDK returns null in the above case, even
> though the JDK specifically contains a working instance. Thus, before
> we call the above code, we call:
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>
> "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
>
> If someone could verify what the IBM JDK does, that would be great. I
> could probably catch the exception and try whatever is needed for IBM's
> JDK. If someone can get me some information (like if the above
> returns a valid registry and LS impl without the setProperty(...) then
> I'll just set the system property on Sun VM's) then I'll fix it later
> tonight.
>
> I need to run to a class for the next few hours, but I can look more
> into it later tonight. I'll start downloading the IBM JDK now.
> However, Celtix has NEVER been tested on the IBM JDK. I'm not sure
> what else might go wrong. I'll try it more over the next couple days.
>
> Thanks!
> Dan
>
> > javax.xml.ws.WebServiceException: java.lang.ClassNotFoundException:
> > com.sun.org.
> > apache.xerces.internal.dom.DOMImplementationSourceImpl
> >
> > Thanks,
> > Raymond
> >
> > ----- Original Message -----
> > From: "Daniel Kulp" <[EMAIL PROTECTED]>
> > To: <[email protected]>
> > Cc: "Ignacio Silva-Lepe" <[EMAIL PROTECTED]>
> > Sent: Monday, May 08, 2006 3:24 PM
> > Subject: Re: Build Break?
> >
> > > Hmm... that's a strange one. That class SHOULD be in your JDK
> > > rt.jar. What version of the JDK are you using? Celtix really
> > > just supports 1.5.0_06, but we have tested on 1.5.0_05 as well.
> > > Can you check your rt.jar and see if there are any
> > > com.sun.org.apache.xerces things in them?
> > >
> > > I can probably change to a different algorithm. All it's doing is
> > > trying to "print" a DOM to a stream. I'm sure there are a couple
> > > other ways of doing that. Of course, the ENTIRE reason for even
> > > doing that is due to TUSCANY-118 not being applied. If we could
> > > use StAX, we wouldn't need to be writing DOM nodes out.
> > >
> > > Thanks!
> > > Dan
> > >
> > > On Monday 08 May 2006 17:14, Ignacio Silva-Lepe wrote:
> > >> Yes, it now builds successfully, thanks Dan.
> > >>
> > >> Now, unfortunately I am getting another error:
> > >>
> > >> -------------------------------------------------------
> > >> T E S T S
> > >> -------------------------------------------------------
> > >> [surefire] Running
> > >> org.apache.tuscany.binding.celtix.assembly.WebServiceAssembly
> > >> FactoryTestCase
> > >> [surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed:
> > >> 0.13 sec [surefire]
> > >>
> > >> [surefire] Running
> > >> org.apache.tuscany.binding.celtix.handler.io.NodeDataWriterTe
> > >> stCase
> > >> [surefire] Tests run: 1, Failures: 0, Errors: 1, Time elapsed:
> > >> 1.843 sec [surefire]
> > >> [surefire]
> > >> testWriteWrapper(org.apache.tuscany.binding.celtix.handler.io.Node
> > >>Da t aWriterTestCase) Time elapsed: 1.753 sec <<< ERROR!
> > >> javax.xml.ws.WebServiceException:
> > >> java.lang.ClassNotFoundException: com.sun.org.
> > >> apache.xerces.internal.dom.DOMImplementationSourceImpl
> > >> at
> > >> org.apache.tuscany.binding.celtix.handler.io.NodeDataReader.readWr
> > >>ap p er(NodeDataReader.java:78)
> > >> at
> > >> org.apache.tuscany.binding.celtix.handler.io.NodeDataReader.readWr
> > >>ap p er(NodeDataReader.java:22)
> > >> at
> > >> org.apache.tuscany.binding.celtix.handler.io.NodeDataWriterTestCas
> > >>e. t estWriteWrapper(NodeDataWriterTestCase.java:78)
> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > >> Method) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > >>pl . java:64)
> > >> at
> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > >>ce s sorImpl.java:43)
> > >> at java.lang.reflect.Method.invoke(Method.java:615)
> > >> at junit.framework.TestCase.runTest(TestCase.java:154)
> > >> at junit.framework.TestCase.runBare(TestCase.java:127)
> > >> at
> > >> junit.framework.TestResult$1.protect(TestResult.java:106) at
> > >> junit.framework.TestResult.runProtected(TestResult.java:124) at
> > >> junit.framework.TestResult.run(TestResult.java:109) at
> > >> junit.framework.TestCase.run(TestCase.java:118)
> > >> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> > >> at junit.framework.TestSuite.run(TestSuite.java:203)
> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > >> Method) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > >>pl . java:64)
> > >> at
> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > >>ce s sorImpl.java:43)
> > >> at java.lang.reflect.Method.invoke(Method.java:615)
> > >> at
> > >> org.apache.maven.surefire.battery.JUnitBattery.executeJUnit(JUnitB
> > >>at t ery.java:242)
> > >> at
> > >> org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBatter
> > >>y. j ava:216)
> > >> at
> > >> org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:21
> > >>5) at org.apache.maven.surefire.Surefire.run(Surefire.java:163) at
> > >> org.apache.maven.surefire.Surefire.run(Surefire.java:87) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > >>pl . java:64)
> > >> at
> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > >>ce s sorImpl.java:43)
> > >> at java.lang.reflect.Method.invoke(Method.java:615)
> > >> at
> > >> org.apache.maven.surefire.SurefireBooter.runTestsInProcess(Surefir
> > >>eB o oter.java:313)
> > >> at
> > >> org.apache.maven.surefire.SurefireBooter.run(SurefireBooter.java:2
> > >>21 )
> > >>
> > >> at
> > >> org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:3
> > >>71 )
> > >>
> > >> at
> > >> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPl
> > >>ug i nManager.java:415)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(D
> > >>ef a ultLifecycleExecutor.java:531)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWit
> > >>hL i fecycle(DefaultLifecycleExecutor.java:472)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(De
> > >>fa u ltLifecycleExecutor.java:451)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAnd
> > >>Ha n dleFailures(DefaultLifecycleExecutor.java:303)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSeg
> > >>me n ts(DefaultLifecycleExecutor.java:270)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(Defaul
> > >>tL i fecycleExecutor.java:139)
> > >> at
> > >> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) at
> > >> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at
> > >> org.apache.maven.cli.MavenCli.main(MavenCli.java:249) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > >>pl . java:64)
> > >> at
> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > >>ce s sorImpl.java:43)
> > >> at java.lang.reflect.Method.invoke(Method.java:615)
> > >> at
> > >> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315
> > >>) at
> > >> org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at
> > >> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:4
> > >>30 )
> > >>
> > >> at
> > >> org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused
> > >> by: java.lang.ClassNotFoundException:
> > >> com.sun.org.apache.xerces.internal.
> > >> dom.DOMImplementationSourceImpl
> > >> at
> > >> java.net.URLClassLoader.findClass(URLClassLoader.java:491) at
> > >> java.lang.ClassLoader.loadClass(ClassLoader.java:560) at
> > >> java.lang.ClassLoader.loadClass(ClassLoader.java:517) at
> > >> org.w3c.dom.bootstrap.DOMImplementationRegistry.newInstance(Unknow
> > >>n S ource)
> > >> at
> > >> org.apache.tuscany.binding.celtix.handler.io.NodeDataReader.getNod
> > >>eS t ream(NodeDataReader.java:93)
> > >> at
> > >> org.apache.tuscany.binding.celtix.handler.io.NodeDataReader.readWr
> > >>ap p er(NodeDataReader.java:58)
> > >> ... 48 more
> > >>
> > >>
> > >> [surefire] Running
> > >> org.apache.tuscany.binding.celtix.loader.WebServiceBindingLoa
> > >> derTestCase
> > >> [surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed:
> > >> 0.26 sec [surefire]
> > >>
> > >>
> > >> Results :
> > >> [surefire] Tests run: 3, Failures: 0, Errors: 1
> > >>
> > >> [INFO]
> > >> ------------------------------------------------------------------
> > >>-- --- -- ---
> > >> [ERROR] BUILD ERROR
> > >> [INFO]
> > >> ------------------------------------------------------------------
> > >>-- --- -- ---
> > >> [INFO] There are test failures.
> > >> [INFO]
> > >> ------------------------------------------------------------------
> > >>-- --- -- ---
> > >> [INFO] Trace
> > >> org.apache.maven.lifecycle.LifecycleExecutionException: There are
> > >> test failures.
> > >>
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(D
> > >>ef a ultLifecycleExecutor.java:556)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWit
> > >>hL i fecycle(DefaultLifecycleExecutor.java:472)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(De
> > >>fa u ltLifecycleExecutor.java:451)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAnd
> > >>Ha n dleFailures(DefaultLifecycleExecutor.java:303)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSeg
> > >>me n ts(DefaultLifecycleExecutor.java:270)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(Defaul
> > >>tL i fecycleExecutor.java:139)
> > >> at
> > >> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) at
> > >> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at
> > >> org.apache.maven.cli.MavenCli.main(MavenCli.java:249) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > >>pl . java:64)
> > >> at
> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > >>ce s sorImpl.java:43)
> > >> at java.lang.reflect.Method.invoke(Method.java:615)
> > >> at
> > >> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315
> > >>) at
> > >> org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at
> > >> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:4
> > >>30 )
> > >>
> > >> at
> > >> org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused
> > >> by: org.apache.maven.plugin.MojoExecutionException: There are test
> > >> failur
> > >> es.
> > >> at
> > >> org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:3
> > >>89 )
> > >>
> > >> at
> > >> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPl
> > >>ug i nManager.java:415)
> > >> at
> > >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(D
> > >>ef a ultLifecycleExecutor.java:531)
> > >> ... 16 more
> > >> [INFO]
> > >> ------------------------------------------------------------------
> > >>-- --- --
> > >>
> > >>
> > >> Thanks for any help in advance.
> > >>
> > >>
> > >> ----- Original Message -----
> > >> From: "Daniel Kulp" <[EMAIL PROTECTED]>
> > >> To: <[email protected]>
> > >> Cc: "Ignacio Silva-Lepe" <[EMAIL PROTECTED]>
> > >> Sent: Monday, May 08, 2006 4:58 PM
> > >> Subject: Re: Build Break?
> > >>
> > >> > Can you update and try again? I copied the version from the
> > >> > yoko project which has been tested with windows and unix.
> > >> > Thus, in theory, it should work.
> > >> >
> > >> > This DOES point out that apparently no-body checked it on
> > >> > windows while it was in the sandbox. Not a huge deal, but in
> > >> > the future, we should probably make sure that anything moved
> > >> > from sandbox to main IS tested on a couple platforms.
> > >> >
> > >> > Dan
> > >
> > > --
> > > J. Daniel Kulp
> > > Principal Engineer
> > > IONA
> > > P: 781-902-8727 C: 508-380-7194
> > > [EMAIL PROTECTED]
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194
[EMAIL PROTECTED]