2015-12-10 2 views
0

Nous obtenonsErreur dans l'importation des métadonnées IDP dans le serveur d'application Websphere 8.5

java.lang.Instantiation

exception lors de l'importation de métadonnées XML IDP dans le serveur d'application Websphere 8.5. IDP est ADFS 3.0. Nous suivons les étapes données dans Websphere 8.5 saml setup.

commande utilisée dans wsadmin est:

AdminTask.importSAMLIdpMetadata ('- idpMetadataFileName "C: /federationmetadata.xml" -idpId 1 -ssoId 1 -signingCertAlias ​​ idpCert1')

La trace de pile d'erreur dans l'invite de commande est montrée ci-dessous:

wsadmin>AdminTask.importSAMLIdpMetadata('-idpMetadataFileName "C:/federationmeta 
data.xml" -idpId 1 -ssoId 1 -signingCertAlias idpCert1') 
WASX7015E: Exception running command: "AdminTask.importSAMLIdpMetadata('-idpMeta 
dataFileName "C:/federationmetadata.xml" -idpId 1 -ssoId 1 -signingCertAlias uma 
ng')"; exception information: 
com.ibm.bsf.BSFException: exception from Jython: 
Traceback (innermost last): 
    File "<input>", line 1, in ? 
com.ibm.ws.scripting.ScriptingException: java.lang.InstantiationError: java.lang 
.InstantiationError: oasis.names.tc.saml._2_0.metadata.RoleDescriptorType 

     at com.ibm.ws.scripting.adminCommand.AdminCmdController.executeCmd(Admin 
CmdController.java:1914) 
     at com.ibm.ws.scripting.adminCommand.AdminCmdController.processCmd(Admin 
CmdController.java:318) 
     at com.ibm.ws.scripting.adminCommand.AdminCmdProxyHandler.invoke(AdminCm 
dProxyHandler.java:92) 
     at com.ibm.ws.scripting.adminCommand.AdminCmdProxyBase.__method3(AdminCm 
dProxyBase.java:53) 
     at com.ibm.ws.scripting.adminCommand.AdminTask.importSAMLIdpMetadata(Unk 
nown Source) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:60) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:37) 
     at java.lang.reflect.Method.invoke(Method.java:611) 
     at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java 
) 
     at org.python.core.PyMethod.__call__(PyMethod.java) 
     at org.python.core.PyObject.__call__(PyObject.java) 
     at org.python.core.PyInstance.invoke(PyInstance.java) 
     at org.python.pycode._pyx56.f$0(<input>:1) 
     at org.python.pycode._pyx56.call_function(<input>) 
     at org.python.core.PyTableCode.call(PyTableCode.java) 
     at org.python.core.PyCode.call(PyCode.java) 
     at org.python.core.Py.runCode(Py.java) 
     at org.python.core.Py.exec(Py.java) 
     at org.python.util.PythonInterpreter.exec(PythonInterpreter.java) 
     at com.ibm.bsf.engines.jython.JythonEngine$BSFPythonInterpreter.runcode(
Unknown Source) 
     at org.python.util.InteractiveInterpreter.runsource(InteractiveInterpret 
er.java) 
     at org.python.util.InteractiveInterpreter.runsource(InteractiveInterpret 
er.java) 
     at com.ibm.bsf.engines.jython.JythonEngine.iexec(Unknown Source) 
     at com.ibm.bsf.BSFManager$7.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(AccessController.java:417 
) 
     at com.ibm.bsf.BSFManager.iexec(Unknown Source) 
     at com.ibm.ws.scripting.AbstractShell.interactive(AbstractShell.java:139 
8) 
     at com.ibm.ws.scripting.AbstractShell.run(AbstractShell.java:2298) 
     at com.ibm.ws.scripting.WasxShell.main(WasxShell.java:1172) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:60) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:37) 
     at java.lang.reflect.Method.invoke(Method.java:611) 
     at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:234) 
     at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:96) 
     at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:77) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:60) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:37) 
     at java.lang.reflect.Method.invoke(Method.java:611) 
     at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithEx 
ception(EclipseAppContainer.java:587) 
     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandl 
e.java:198) 
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli 
cation(EclipseAppLauncher.java:110) 
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec 
lipseAppLauncher.java:79) 
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja 
va:369) 
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja 
va:179) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:60) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:37) 
     at java.lang.reflect.Method.invoke(Method.java:611) 
     at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340) 
     at org.eclipse.core.launcher.Main.basicRun(Main.java:282) 
     at org.eclipse.core.launcher.Main.run(Main.java:981) 
     at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.jav 
a:400) 
     at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:163) 

com.ibm.ws.scripting.ScriptingException: com.ibm.ws.scripting.ScriptingException 
: java.lang.InstantiationError: java.lang.InstantiationError: oasis.names.tc.sam 
l._2_0.metadata.RoleDescriptorType 

Toute personne ayant une idée t cette erreur? Nous utilisons l'ID administrateur pour exécuter wsadmin.

Répondre

0

La seule information dont nous avons vraiment besoin de savoir est le certificat du serveur ADFS qui signe le SAML. Nous avons donc pris le certificat X509 du serveur ADFS et l'avons importé manuellement dans le magasin de confiance par défaut de WAS (CellDefaultTrustStore). Nous avons configuré manuellement IDP en ajoutant les attributs suivants aux propriétés d'intercepteur. Nous sommes en mesure de se connecter à ADFS maintenant.

sso_1.idp_1.entityID

sso_1.idp_1.certAlias ​​

sso_1.idp_1.singleSignOnUrl