我正在尝试使用 opensaml servicemix bundle ( org.apache.servicemix.bundles:org.apache.servicemix.bundles.opensaml:jar:3.2.0_1
) 在 Apache Karaf (4.0.5) 上运行的 OSGi 包中升级到 OpenSAML 3。
解析 SAML 的测试正在运行,所以我认为我在正确的轨道上。但是,如果我在 Karaf 上安装捆绑包,我会在尝试加载时收到“找不到资源”default-config.xml
错误。
2016-06-21 16:29:10,477 | INFO | ool-120-thread-1 | InitializationService | 388 - org.apache.servicemix.bundles.opensaml - 3.2.0.1 | Initializing OpenSAML using the Java Services API
2016-06-21 16:29:10,478 | DEBUG | ool-120-thread-1 | InitializationService | 388 - org.apache.servicemix.bundles.opensaml - 3.2.0.1 | Initializing module initializer implementation: org.opensaml.core.xml.config.XMLObjectProviderInitializer
2016-06-21 16:29:10,487 | DEBUG | ool-120-thread-1 | XMLConfigurator | 388 - org.apache.servicemix.bundles.opensaml - 3.2.0.1 | XMLObjectProviderRegistry did not exist in ConfigurationService, will be created
2016-06-21 16:29:10,488 | DEBUG | ool-120-thread-1 | ractXMLObjectProviderInitializer | 388 - org.apache.servicemix.bundles.opensaml - 3.2.0.1 | Loading XMLObject provider configuration from resource 'default-config.xml'
2016-06-21 16:29:10,489 | ERROR | ool-120-thread-1 | ractXMLObjectProviderInitializer | 388 - org.apache.servicemix.bundles.opensaml - 3.2.0.1 | Problem loading configuration resource
org.opensaml.core.xml.config.XMLConfigurationException: Resource not found
at org.opensaml.core.xml.config.AbstractXMLObjectProviderInitializer.init(AbstractXMLObjectProviderInitializer.java:54)[388:org.apache.servicemix.bundles.opensaml:3.2.0.1]
at org.opensaml.core.xml.config.XMLObjectProviderInitializer.init(XMLObjectProviderInitializer.java:45)[388:org.apache.servicemix.bundles.opensaml:3.2.0.1]
at org.opensaml.core.config.InitializationService.initialize(InitializationService.java:56)[388:org.apache.servicemix.bundles.opensaml:3.2.0.1]
AbstractXMLObjectProviderInitializer
正在按如下方式加载资源(resource
is default-config.xml
):
Thread.currentThread().getContextClassLoader().getResourceAsStream(resource)
default-config.xml
位于 (opensaml) jar 的根目录中,这让我想知道这是否是找不到它的原因。
我maven-bundle-plugin
在我的项目中使用了,除了依赖项和 opensaml 类的各种用途之外,我还Import-Package
为以下包提供了显式导入():
org.opensaml.core.xml.config,
org.opensaml.saml.config,
org.opensaml.xmlsec.config,
我的捆绑清单或其他地方是否缺少任何东西来完成这项工作?我认为 servicemix 本身发布的 opensaml 包应该可以正常工作......