I've been trying a lot of different things, so that is probably why the jars in the lib directory
don't match the Bundle-classpath. I think at one point, I had some of the packages in the
Import-Package, but then I found some information that seemed to indicate that if the jars
were "embedded", which I took to mean that they were physically included in my JAR, that I
wouldn't need to have them in the Import-Package.
Also, about that error message, that is (one of ) the mysterious things. I think that I code
I added to try to dump the Identity Context included references to AppSecurityContext, and
it took awhile to figure out where that was (in jps-api.jar), and I think that is when that
error started happening.
Here's the classes (with the package info):
oracle/security/jps/runtime/AppSecurityContext$1.class
oracle/security/jps/runtime/AppSecurityContext$2.class
oracle/security/jps/runtime/AppSecurityContext.class
oracle/security/jps/runtime/AppSecurityContextFactory.class
So how SHOULD the MANIFEST.MF look so that the plugin can access those classes in the jps-api.jar?
FYI, and in response to the earlier message, Oracle doesn't really provide any felix bundles...
just JARs, so we would have to use them as I guess what you all refer to as 3rd party or external
JARS?
Can I use such JARs with the plugin? The impression I have is that it is possible for felix
to support references to such external JARs without having to make felix-compliant bundles?
Jim
--------------------------------------------
On Wed, 9/6/17, David Jencks <david.a.jencks@gmail.com> wrote:
Subject: Re: New to Felix - can someone help explain what this error means (and how to fix
it)?
To: users@felix.apache.org
Date: Wednesday, September 6, 2017, 4:05 PM
While what Neil says is entirely
correct, the information you supply doesn't look
internally consistent to me. Is that really the manifest of
the actual bundle you've constructed? I don't see a
package import for the package in the error message and the
Bundle-classpath doesn't appear to correspond to the
contents of lib/ you've listed.
David Jencks
Sent from my iPhone
> On Sep 6, 2017, at 12:06 PM, Neil Bartlett
<njbartlett@gmail.com>
wrote:
>
> This error
message simply says that your bundle imports (that is, it
depends on) the package named “oracle.security.jps”, but
that no other bundle exports or provides that package.
>
> The normal fix for
this is to find a bundle that exports the package
“oracle.security.jps” and install it into your
framework. The documentation for OAM should have a list
somewhere of all the bundles you need to make it work.
>
> Regards,
> Neil
>
>> On 6 Sep 2017, at 19:19, o haya <ohaya@yahoo.com.INVALID>
wrote:
>>
>>
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-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
>
---------------------------------------------------------------------
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
|