Uploaded image for project: 'OpenAM'
  1. OpenAM
  2. OPENAM-12384

Guice binding error when handling WSFed entities via ssoadm

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 14.1.0, 14.1.1, 14.5.0, 14.5.1, 5.5.1
    • Fix Version/s: 5.5.2
    • Component/s: ssoadm
    • Environment:
      JDK 1.8.0_151-b12
      Apache Tomcat/8.0.48
      AM 5.1.1
    • Sprint:
      AM Sustaining Sprint 48, AM Sustaining Sprint 51, AM Sustaining Sprint 52
    • Story Points:
      2
    • Support Ticket IDs:

      Description

      Bug description

      Guide binding error occurs in ssoadm debug log files

      How to reproduce the issue

      1. Configure AM 5.1.1
      2. Apply patch for OPENAM-11472
      3. Configure SSOadminTools for AM 5.1.1
      4. Apply patch for OPENAM-11472
      5. ssoadm import-entity -u amadmin -f PATH_TO_PWDFILE --realm / --spec wsfed --meta-data-file PATH_TO_WSFED_metadata.xml --extended-data-file PATH_TO_WSFED_ex
        t_metadata.xml
      Expected behaviour
      No Guice error in ssoadm debug logs
      
      Current behaviour
      amCLI:01/30/2018 04:26:21:465 PM CET: Thread[main,5,main]: TransactionId[unknown]
      ERROR: An unexpected error occurred in thread 'Thread[main,5,main]'
      java.lang.ExceptionInInitializerError
       at com.sun.identity.wsfederation.common.WSFederationUtils.<clinit>(WSFederationUtils.java:124)
       at com.sun.identity.wsfederation.logging.LogUtil.<clinit>(LogUtil.java:44)
       at com.sun.identity.wsfederation.meta.WSFederationMetaManager.createFederation(WSFederationMetaManager.java:303)
       at com.sun.identity.federation.cli.ImportMetaData.importWSFedMetaData(ImportMetaData.java:624)
       at com.sun.identity.federation.cli.ImportMetaData.handleWSFedRequest(ImportMetaData.java:424)
       at com.sun.identity.federation.cli.ImportMetaData.handleRequest(ImportMetaData.java:139)
       at com.sun.identity.cli.SubCommand.execute(SubCommand.java:296)
       at com.sun.identity.cli.CLIRequest.process(CLIRequest.java:217)
       at com.sun.identity.cli.CLIRequest.process(CLIRequest.java:139)
       at com.sun.identity.cli.CommandManager.serviceRequestQueue(CommandManager.java:583)
       at com.sun.identity.cli.CommandManager.<init>(CommandManager.java:180)
       at com.sun.identity.cli.CommandManager.main(CommandManager.java:157)
      Caused by: com.google.inject.ConfigurationException: Guice configuration errors:
      
      1) No implementation for com.iplanet.dpro.session.operations.SessionOperationStrategy was bound.
        while locating com.iplanet.dpro.session.operations.SessionOperationStrategy
          for parameter 5 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      2) No implementation for com.iplanet.dpro.session.service.InternalSessionListener[] was bound.
        while locating com.iplanet.dpro.session.service.InternalSessionListener[]
          for parameter 0 at com.iplanet.dpro.session.service.InternalSessionEventBroker.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.InternalSessionEventBroker
          for parameter 2 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      3) No implementation for com.sun.identity.shared.debug.Debug annotated with @com.google.inject.name.Named(value=amSession) was bound.
        while locating com.sun.identity.shared.debug.Debug annotated with @com.google.inject.name.Named(value=amSession)
          for parameter 0 at com.iplanet.dpro.session.service.InternalSessionFactory.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.InternalSessionFactory
          for parameter 3 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      4) No implementation for com.sun.identity.shared.debug.Debug annotated with @com.google.inject.name.Named(value=amSession) was bound.
        while locating com.sun.identity.shared.debug.Debug annotated with @com.google.inject.name.Named(value=amSession)
          for parameter 0 at com.iplanet.dpro.session.service.SessionServerConfig.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionServerConfig
          for parameter 1 at com.iplanet.dpro.session.service.InternalSessionFactory.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.InternalSessionFactory
          for parameter 3 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      5) No implementation for com.sun.identity.shared.debug.Debug annotated with @com.google.inject.name.Named(value=amSession) was bound.
        while locating com.sun.identity.shared.debug.Debug annotated with @com.google.inject.name.Named(value=amSession)
          for parameter 0 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      6) No implementation for java.util.Map<java.lang.Class<? extends org.forgerock.openam.cts.continuous.watching.ContinuousListener>, org.forgerock.openam.cts.continuous.watching.ContinuousWatcher> annotated with @com.google.inject.name.Named(value=continuousWatcherService) was bound.
        while locating java.util.Map<java.lang.Class<? extends org.forgerock.openam.cts.continuous.watching.ContinuousListener>, org.forgerock.openam.cts.continuous.watching.ContinuousWatcher> annotated with @com.google.inject.name.Named(value=continuousWatcherService)
          for parameter 0 at org.forgerock.openam.cts.continuous.watching.ContinuousWatcherDirectory.<init>(Unknown Source)
        while locating org.forgerock.openam.cts.continuous.watching.ContinuousWatcherDirectory
          for parameter 6 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      7) No implementation for java.util.concurrent.ScheduledExecutorService annotated with @com.google.inject.name.Named(value=FederationSessionManagement) was bound.
        while locating java.util.concurrent.ScheduledExecutorService annotated with @com.google.inject.name.Named(value=FederationSessionManagement)
          for parameter 0 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      8) No implementation for org.forgerock.openam.session.service.access.persistence.InternalSessionStore was bound.
        while locating org.forgerock.openam.session.service.access.persistence.InternalSessionStore
          for parameter 1 at org.forgerock.openam.session.service.SessionAccessManager.<init>(Unknown Source)
        while locating org.forgerock.openam.session.service.SessionAccessManager
          for parameter 0 at com.iplanet.dpro.session.service.AuthenticationSessionStore.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.AuthenticationSessionStore
          for parameter 2 at com.iplanet.dpro.session.service.InternalSessionFactory.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.InternalSessionFactory
          for parameter 3 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      9) No implementation for org.forgerock.openam.session.service.access.persistence.InternalSessionStore was bound.
        while locating org.forgerock.openam.session.service.access.persistence.InternalSessionStore
          for parameter 1 at org.forgerock.openam.session.service.SessionAccessManager.<init>(Unknown Source)
        while locating org.forgerock.openam.session.service.SessionAccessManager
          for parameter 4 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      10) Could not find a suitable constructor in com.iplanet.sso.SSOTokenManager. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
        at com.iplanet.sso.SSOTokenManager.class(Unknown Source)
        while locating com.iplanet.sso.SSOTokenManager
          for parameter 0 at com.iplanet.dpro.session.service.DsameAdminTokenProvider.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.DsameAdminTokenProvider
          for parameter 1 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      11) Could not find a suitable constructor in org.forgerock.openam.session.SessionServiceURLService. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
        at org.forgerock.openam.session.SessionServiceURLService.class(Unknown Source)
        while locating org.forgerock.openam.session.SessionServiceURLService
          for parameter 1 at com.iplanet.dpro.session.service.SessionServerConfig.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionServerConfig
          for parameter 1 at com.iplanet.dpro.session.service.InternalSessionFactory.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.InternalSessionFactory
          for parameter 3 at com.iplanet.dpro.session.service.SessionService.<init>(Unknown Source)
        while locating com.iplanet.dpro.session.service.SessionService
          for parameter 1 at com.sun.identity.plugin.session.impl.FMSessionNotification.<init>(Unknown Source)
        while locating com.sun.identity.plugin.session.impl.FMSessionNotification
      
      11 errors
       at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004)
       at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:961)
       at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
       at org.forgerock.guice.core.InjectorHolder.getInstance(InjectorHolder.java:72)
       at com.sun.identity.plugin.session.impl.FMSessionProvider.<init>(FMSessionProvider.java:105)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
       at java.lang.Class.newInstance(Class.java:442)
       at com.sun.identity.plugin.session.SessionManager.<clinit>(SessionManager.java:58)
       ... 12 more
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                lawrence.yarham Lawrence Yarham
                Reporter:
                bthalmayr Bernhard Thalmayr
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: