Hi,

I am working on what Oracle calls an "authentication plugin" to work with their 
Oracle Access Manager (OAM) product.  

I have implemented one of their sample plugins (SampleAuthPlugin) but now want 
to have that plugin access another API that they have called the Identity 
Context API:

https://docs.oracle.com/cd/E27559_01/admin.1112/e27239/id_context.htm#AIAAG7296

So I added some snippets from one of their examples on that page (Example 41-3) 
to make a method that would list/dump out the contents of the Identity Context. 
 This new code has dependencies on several other Oracle JARs, from what I can 
tell:

IdentityContext.jar
jps-api.jar

Possibly some others, but my code compiled ok, and I could build a new 
SampleAuthPlugin.jar successfully.

However, when I try to (what oracle calls) "Activate" the plugin, I am getting 
errors.  I've tried all kinds of things, but at this point, I am still getting 
this:

<Sep 6, 2017 1:35:44 PM EDT> <Notice> <Stdout> <BEA-000000> <<Sep 6, 2017 
1:35:44 PM EDT> <Warning> <oracle.oam.extensibility.lifecycle> <BEA-000000> 
<Activation failed due to felix bundle exception while installing and starting 
the bundle.null
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
oracle.security.am.plugin.internal.OSGIPluginService.installAndStartBundle(OSGIPluginService.java:179)
        at 
oracle.security.am.extensibility.lifecycle.messaging.NodeMessageListener.installAndStartBundle(NodeMessageListener.java:66)
        at 
oracle.security.am.extensibility.lifecycle.messaging.NodeMessageListener.receiveMessage(NodeMessageListener.java:112)
        at 
oracle.security.am.extensibility.lifecycle.messaging.NodeMessageListener.receiveMessageList(NodeMessageListener.java:49)
        at 
oracle.security.am.extensibility.lifecycle.messaging.MessageListenerWrapper.objectCreated(MessageListenerWrapper.java:30)
        at 
oracle.security.am.foundation.mapimpl.coherence.events.MapListenerWrapper.notifyListener(MapListenerWrapper.java:174)
        at 
oracle.security.am.foundation.mapimpl.coherence.events.EventDispatcher.dispatch(EventDispatcher.java:132)
        at 
oracle.security.am.foundation.mapimpl.coherence.events.EventDispatcher.run(EventDispatcher.java:114)
Caused By: org.osgi.framework.BundleException: Unresolved constraint in bundle 
SampleAuthPlugin [2]: Unable to resolve 2.0: missing requirement [2.0] 
osgi.wiring.package; (osgi.wiring.package=oracle.security.jps)
        at 
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3980)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2043)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:976)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:963)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
oracle.security.am.plugin.internal.OSGIPluginService.installAndStartBundle(OSGIPluginService.java:179)
        at 
oracle.security.am.extensibility.lifecycle.messaging.NodeMessageListener.installAndStartBundle(NodeMessageListener.java:66)
        at 
oracle.security.am.extensibility.lifecycle.messaging.NodeMessageListener.receiveMessage(NodeMessageListener.java:112)
        at 
oracle.security.am.extensibility.lifecycle.messaging.NodeMessageListener.receiveMessageList(NodeMessageListener.java:49)
        at 
oracle.security.am.extensibility.lifecycle.messaging.MessageListenerWrapper.objectCreated(MessageListenerWrapper.java:30)
        at 
oracle.security.am.foundation.mapimpl.coherence.events.MapListenerWrapper.notifyListener(MapListenerWrapper.java:174)
        at 
oracle.security.am.foundation.mapimpl.coherence.events.EventDispatcher.dispatch(EventDispatcher.java:132)
        at 
oracle.security.am.foundation.mapimpl.coherence.events.EventDispatcher.run(EventDispatcher.java:114)

I guess the root cause must be this:

Unresolved constraint in bundle SampleAuthPlugin [2]: Unable to resolve 2.0: 
missing requirement [2.0] osgi.wiring.package; 
(osgi.wiring.package=oracle.security.jps)

but, I don't understand enough (== almost nothing) about Felix to understand 
what that error message is telling me?

Here is my current MANIFEST.MF:

Manifest-Version: 1.0
Bundle-Version: 10
Bundle-Name: SampleAuthPlugin
Bundle-Activator: sample.SampleAuthPlugin
Bundle-ManifestVersion: 3
Bundle-SymbolicName: SampleAuthPlugin
Bundle-ClassPath: .,lib/IdentityContext.jar,lib/jps-api.jar,lib/jps-ee
 .jar,lib/jps-common.jar,lib/jps-unsupported-api.jar
Import-Package: oracle.security.am.plugin,oracle.security.am.plugin.au
 thn,oracle.security.am.plugin.impl,oracle.security.am.plugin.api,orac
 le.security.am.plugin.identity.impl,oracle.security.am.common.utiliti
 es.principal,oracle.security.am.engines.common.identity.api,oracle.se
 curity.am.engines.common.identity.provider,oracle.security.am.engines
 .common.identity.provider.exceptions,oracle.security.idm,javax.securi
 ty.auth,org.osgi.framework;version="1.3.0"


In the built JAR, I have:

META-INF
  ==> MANIFEST.MF
sample
  ==> SampleAuthPlugin.class, SampleAuthPlugin$1.class, Sample$2.class and 
TokenClass.class
lib
  ==> felix-service.jar
         felix.jar
         identity-provider.jar
         oam-plugin.jar
         utilities.jar

         I added the following to resolve for compiling:
         IdentityContext.jar
         jps-api.jar
         jps-common.jar
         jps-ee.jar <== I added because this was in the Class-path in the 
(non-felix-type) Manifest.mf of one of the other jars
         jps-unsupported-api.jar <== I added because this was in the Class-path 
in the (non-felix-type) Manifest.mf of one of the other jars
 
Sorry for the "data dump" but I am hoping that someone can explain what that 
error is telling me, and maybe suggest what might be wrong?

Thanks,
Jim

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

Reply via email to