Hi,
You can now find new versions of our XMP SDKs on Adobe Devnet:
http://www.adobe.com/devnet/xmp/
So please check out the CS6 versions of the SDKs and post your feedback in this forum!
The prior versions are still listed.
Updates:
The Adobe XMP Team
Hi,
i used the previous version of the java XMPCore. I tried to upgrade however i got the following exception (using java 1.5 and 1.6):
java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String ;Z)V
at com.adobe.xmp.impl.XMPMetaParser.createDocumentBuilderFactory(Unknown Source)
at com.adobe.xmp.impl.XMPMetaParser.<clinit>(Unknown Source)
at com.adobe.xmp.XMPMetaFactory.parseFromBuffer(Unknown Source)
at com.adobe.xmp.XMPMetaFactory.parseFromBuffer(Unknown Source)
On further investigation the problem is, that you are trying to call a method
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
on an abstract class however you are not catching that error, as you propably intended to.
The code has been introduced into the new version:
class XMPMetaParser.java:
[...]
try
{
// honor System parsing limits, e.g.
// System.setProperty("entityExpansionLimit", "10");
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
}
catch (Exception e)
{
// Ignore IllegalArgumentException and ParserConfigurationException
// in case the configured XML-Parser does not implement the feature.
}
}
The exception is of the type "Error" and thus won't be catched by the "catch (Exception)" block at this point. If you change the following to:
try
{
// honor System parsing limits, e.g.
// System.setProperty("entityExpansionLimit", "10");
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
}
catch (Throwable t)
{
// Ignore AbstractMethodError, IllegalArgumentException and ParserConfigurationException
// in case the configured XML-Parser does not implement the feature.
}
or to
try
{
// honor System parsing limits, e.g.
// System.setProperty("entityExpansionLimit", "10");
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
}
catch(Error e){
// Ignore AbstractMethodError in case there is no implementation at all
}
catch (Exception e)
{
// Ignore IllegalArgumentException and ParserConfigurationException
// in case the configured XML-Parser does not implement the feature.
}
Everything is working as aspected again...
North America
Europe, Middle East and Africa
Asia Pacific