Skip to Content.
Sympa Menu

mace-opensaml-users - RE: FileBackedURLMetadataProvider --> java.lang.IncompatibleClassChangeError

Subject: OpenSAML user discussion

List archive

RE: FileBackedURLMetadataProvider --> java.lang.IncompatibleClassChangeError


Chronological Thread 
  • From: "Paul Hethmon" <>
  • To: <>
  • Subject: RE: FileBackedURLMetadataProvider --> java.lang.IncompatibleClassChangeError
  • Date: Wed, 11 Jul 2007 14:04:43 -0700

To follow up on this so the list has a record.

I switched to Java 1.6 and received an extended message which indicated
"found interface when class was expected". My original code referenced
ParserPool (interface). However, changing to BasicParserPool still
generated that same error message. I had a friend try it and it worked
for him. The only difference in our environments being that he
downloaded the lastest code from svn. So today I updated the opensaml
code, built it all with 1.6, and rebuilt my test code against it. That
worked.

The original OpenSAML library code I was using was straight Alpha1.

thanks,

Paul

-----Original Message-----
From: Paul Hethmon
[mailto:]

Sent: Friday, July 06, 2007 3:05 PM
To:

Subject: RE: FileBackedURLMetadataProvider -->
java.lang.IncompatibleClassChangeError

Ok. So now I have the same message on both WinXP and Mac OS10. This is
just a little test program to explore the FileBackedURLMetadataProvider
class. I've removed all JVM's on my win box and installed 1.5 update 12.
Program compiled and run with Xalan and Xerces in the endorsed
directories. Here's the class with imports and comments taken out (the
url is valid if anyone wants to try it):

// ----- begin code -----
public class Main {

private static ParserPool parser;

public Main() {
}

public static void main(String[] args) throws
MetadataProviderException, ConfigurationException {
org.opensaml.DefaultBootstrap.bootstrap();

String metaUrl = "http://red.csknox.com/idp-meta.xml";;
String metaFile = "C:\\Clareity\\dev\\idp-meta.xml";
System.out.println("Reading metadata url: " + metaUrl);

FileBackedURLMetadataProvider fbmd;

fbmd = new FileBackedURLMetadataProvider(metaUrl, 60000, metaFile);
fbmd.setParserPool(parser);
fbmd.initialize();
XMLObject xml;
xml = fbmd.getMetadata();
}

}
// ----- end code -----

I run it with this in a cmd file:

set JAVA_HOME="C:\Program Files\Java\jre1.5.0_12"
set CLASSPATH=
"C:\Program Files\Java\jre1.5.0_12\bin\java.exe"
"-Djava.endorsed.dirs=C:\Program
Files\Java\jre1.5.0_12_endorsed\lib\endorsed" -jar ".\dist\MetaTest.jar"

The output is:

-----

C:\Clareity\dev\OpenSAML\MetaTest>"C:\Program
Files\Java\jre1.5.0_12\bin\java.exe" "-Djava.endorsed.dirs=C:\Program
File
s\Java\jre1.5.0_12_endorsed\lib\endorsed" -jar ".\dist\MetaTest.jar"
log4j:WARN No appenders could be found for logger
(org.opensaml.DefaultBootstrap).
log4j:WARN Please initialize the log4j system properly.
Reading metadata url: http://red.csknox.com/idp-meta.xml
Exception in thread "main" java.lang.IncompatibleClassChangeError
at
org.opensaml.saml2.metadata.provider.AbstractMetadataProvider.unmarshall
Metadata(AbstractMetadataProvider.jav
a:159)
at
org.opensaml.saml2.metadata.provider.URLMetadataProvider.fetchMetadata(U
RLMetadataProvider.java:289)
at
org.opensaml.saml2.metadata.provider.FileBackedURLMetadataProvider.fetch
Metadata(FileBackedURLMetadataProvide
r.java:96)
at
org.opensaml.saml2.metadata.provider.URLMetadataProvider.refreshMetadata
(URLMetadataProvider.java:231)
at
org.opensaml.saml2.metadata.provider.URLMetadataProvider.initialize(URLM
etadataProvider.java:106)
at metatest.Main.main(Main.java:46)
-----

The only thing I can think of to try at this point is to re-compile all
of the third party jar files like javolution, apache commons, etc.

Any clues, good, bad, or ugly appreciated.

thanks,

Paul





Archive powered by MHonArc 2.6.16.

Top of Page