You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Andrea Turbati <tu...@info.uniroma2.it> on 2010/09/29 11:08:17 UTC

Re: ObjectFactory.class or jaxb.index

  Hi All,
I have still the problem:
java.lang.RuntimeException: javax.xml.bind.JAXBException: 
"org.okkam.client.data" doesnt contain ObjectFactory.class or jaxb.index
and I don't know how to solve it.

Just to give a brief recap in my bundle I'm using a library which try to 
interact with a WebService, so I cannot change the code which ask the 
WebService for a particular service. All I (think I) can do is change 
the manifest of my bundle.

If someone has any suggestion please let me know because I really don't 
know what to do.

Andrea



Il 07/06/2010 17:55, Andrea Turbati ha scritto:
> Thank you for the answer. But I'm not able to understand the meaning 
> of my error:
>
> java.lang.RuntimeException: javax.xml.bind.JAXBException: 
> "org.okkam.client.data" doesnt contain ObjectFactory.class or jaxb.index
>
> In the jar library I'm using the class file is in the right place, so 
> I can't understand why the bundle it's not able to find it. I'm 
> starting to believe that the error it is somewhere else (maybe I'm 
> using the manifest in a wrong way) and the error shown it is just a 
> side effect of the real error.
>
> I cannot implement the answer you provided because the:
>
> ObjectFactory.class
>
> it is called within the OKKAM library, so in theory I'm should not be 
> able to change that library.
>
> I'm searching for the reason to this error, more than a workaround, 
> because if in the future I will have to use a different library I 
> should not be worried about what code is inside it (as long as it is a 
> working one :-) ).
>
> Thanks,
>
> Andrea
>
>
> Il 07/06/2010 16:41, Larry Touve ha scritto:
>> I posted this problem over on the Glassfish forum, and got the 
>> following from Sahoo.  I implemented the workaround and it works great.
>>
>> ======================================================================
>>
>> I have actually filed a bug for this. See [1]. Vote for it please. I 
>> don't know if there is any better way to solve it, but I faced it for 
>> one of my GlassFish extension bundles and I worked around it like this:
>>
>>      import org.glassfish.internal.api.Globals;
>>      import org.glassfish.internal.api.ClassLoaderHierarchy;
>>
>>      ...
>>
>>      private JAXBContext getJAXBContext() throws JAXBException {
>>          // We need to set context class loader to be 
>> CommonClassLoader, otherwise our stupid JAXB implementation
>>          // won't be able to locate the default JAXB context factory 
>> class.
>>          final Thread thread = Thread.currentThread();
>>          ClassLoader oldCL = thread.getContextClassLoader();
>>          try {
>>              ClassLoader ccl = 
>> Globals.get(ClassLoaderHierarchy.class).getCommonClassLoader();
>>              thread.setContextClassLoader(ccl);
>>              JAXBContext jc = 
>> JAXBContext.newInstance(ObjectFactory.class);
>>          return jc;
>>          } finally {
>>              thread.setContextClassLoader(oldCL);
>>          }
>>      }
>>
>> You will have to add the following dependency to compile though:
>>
>> <dependency>
>> <groupId>org.glassfish.common</groupId>
>> <artifactId>internal-api</artifactId>
>> <version>${project.version}</version>
>> </dependency>
>>
>> I don't think you can apply this work around in your code - it has 
>> too much dependency on glassfish internals.
>>
>> Thanks,
>> Sahoo
>>
>> [1] https://glassfish.dev.java.net/issues/show_bug.cgi?id=11748
>>
>> Larry
>>
>>> -----Original Message-----
>>> From: Andrea Turbati [mailto:turbati@info.uniroma2.it]
>>> Sent: Monday, June 07, 2010 6:06 AM
>>> To: users@felix.apache.org
>>> Subject: ObjectFactory.class or jaxb.index
>>>
>>> Hi,
>>> I've presented this problem in another discussion, which started from a
>>> totally different one, so I've decided to open a new discussion with 
>>> the
>>> hope to solve it.
>>>
>>> In my bundle I'm trying to use a a library which it's using a 
>>> webservice
>>> (the OKKAM webservice).
>>>
>>> When the bundle invoke a class from the library I have the following
>>> error:
>>>
>>> java.lang.RuntimeException: javax.xml.bind.JAXBException:
>>> "org.okkam.client.data" doesnt contain ObjectFactory.class or 
>>> jaxb.index
>>>       at org.okkam.client.util.XMLEntityConverter.init(Unknown Source)
>>>       at org.okkam.client.util.XMLEntityConverter.xmlToEntity(Unknown
>>> Source)
>>>       at
>>> it.uniroma2.art.maskkot.osgi.service.Maskkot.inquireOkkamForIds(Maskkot. 
>>>
>>> java:130)
>>>
>>>
>>> Doing a search on internet I've found this site:
>>> http://stackoverflow.com/questions/1043109/why-cant-jaxb-find-my-jaxb-
>>> index-when-running-inside-apache-felix
>>> (It appears to be a similar problem)
>>>
>>> I've checked in the jar library which is inside my bundle and I've 
>>> found
>>> that in the package org.okkam.client.data the file ObjectFactory.class
>>> exixts (but not the file jaxb.index), so I really don't understand the
>>> meaning of that error.
>>>
>>> My application is a bit particular, because the main java application
>>> (the one with the Felix instance) is run from inside Firefox as an
>>> estension and my bundle is an extension to both Firefox and to 
>>> Felix. So
>>> the main java application is not able to see the normal classpath, 
>>> but I
>>> have to explicitely list all the jar library, so maybe this is part of
>>> the problem.
>>>
>>> Thanks
>>>
>>> Andrea
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG - www.avg.com
>>> Version: 9.0.819 / Virus Database: 271.1.1/2899 - Release Date: 
>>> 06/07/10
>>> 02:35:00
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>


-- 

-------------------------------------------------

Dott. Andrea Turbati

AI Research Group PhD student,

Dept. of Computer Science, Systems and Production

University of Roma, Tor Vergata

Via del Politecnico 1 00133 ROMA (ITALY)

tel: +39 06 7259 7332 (lab)

e_mail: turbati@info.uniroma2.it

home page: http://art.uniroma2.it/turbati/

--------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org