Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] NoSuchMethodError: convertToMultiKey

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] NoSuchMethodError: convertToMultiKey


Chronological Thread 
  • From: Yoann Delattre <>
  • To: Ben Beecher <>
  • Cc: " Mailing List" <>
  • Subject: Re: [grouper-users] NoSuchMethodError: convertToMultiKey
  • Date: Fri, 18 Sep 2020 12:01:52 +0200
  • Arc-authentication-results: i=1; smtp.ac-lille.fr; auth=pass
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ac-lille.fr; s=dkim201910; t=1600423312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Pwo14e+Uq3QqMTvmmi/+ma3Ip9rCeYmdiz0ELBSRNoE=; b=e0F7GiNKO0bfRZJDQPNljOAqOuxmwu6AdfdqL85Lye9aaTfdBJyJD0nUOxsidH1XKtYMUo H2iE5NQyiM6tizeHprmQefTIp1NPTyMckUps7XOL+QeO83mpEA4oSewMpk2PFtNCofWiZL ekKbXEa5tCt2OCGI5D2wbavedINHX9KjHbKvCKOgHcUlf2ZYjYBRu553ovChh6s8p22SnE LYmmqIxTsps6iQiigVGax/S6cC9cCryNYhBEgUFcSc9d+fwYRhzaMlMbRfR2ewT7zL2au0 cdHmJbFyKKlgsfntCvIrvLKWqnQmw1BD7NMNIyWzbOBm19THypEXgIxMp66pwQ==
  • Arc-seal: i=1; s=dkim201910; d=ac-lille.fr; t=1600423312; a=rsa-sha256; cv=none; b=yD96+c6X1ecCfqHlZLIsSl8FOrZypYadbN3UZ1i2N1aaPfmDNKlsss/2c8VewQUY+gqM06 Bn3KSrZZdw2tEocgIZ2B+KtJEpUZZM4w0CyshveYmBf+b6Fbo3q60Eia+vJ8WllvF6P8rE WBUX/W6KUZeJLE5bS/ez+3g6EhHN6RvogfQo+lzcoQBVQ5kffWn7v3NM+uQf8xbyNqk7Z0 ydaHqGhVeeK2P/e2ZW4Jo0I4NCnzB9ZtmrqIsM0vTxp+q7oMKcNbQvQ0xcKAoUE8vWUhW3 Lf0vu4sK7YBrdQUYLo9bFsf8H8vxnZM5vXsLLkRGysroAG8x9h4wV3i2QTkoPw==

Thanks for your answer.

But doesn't deleting the .class files mean that the changes included in the patch will be lost ?

Yoann.


Le 14/09/2020 à 18:40, Ben Beecher a écrit :
convertToMultiKey appears in two places with different signatures. We were able to fix this by removing the SubjectHelper class file.

$ javap -classpath grouper.jar edu.internet2.middleware.grouper.subj.SubjectHelper
Compiled from "SubjectHelper.java"
public class edu.internet2.middleware.grouper.subj.SubjectHelper {
  public edu.internet2.middleware.grouper.subj.SubjectHelper();
  public static java.lang.String sourcesToIdsString(java.util.Collection<edu.internet2.middleware.subject.Source>);
  public static org.apache.commons.collections.keyvalue.MultiKey convertToMultiKey(edu.internet2.middleware.subject.Subject);


$ javap -classpath /var/tomcat/grouperdev/webapps/grouper-ws/WEB-INF/classes/ edu.internet2.middleware.grouper.subj.SubjectHelper
Compiled from "SubjectHelper.java"
public class edu.internet2.middleware.grouper.subj.SubjectHelper {
  public edu.internet2.middleware.grouper.subj.SubjectHelper();
  public static java.lang.String sourcesToIdsString(java.util.Collection<edu.internet2.middleware.subject.Source>);
  public static edu.internet2.middleware.grouperClient.collections.MultiKey convertToMultiKey(edu.internet2.middleware.subject.Subject);


$ rm SubjectHelper\$1.class
$ rm SubjectHelper.class

Ben

On Mon, Sep 14, 2020 at 10:35 AM Yoann Delattre <> wrote:

Hello,

Just ran into the same issue (2.4 latest patches). I think the problem came from this commit and the modification of the import for MultiKey class.
Any solution ?

Thanks !

Regards,
Yoann.

Le 28/07/2020 à 21:00, Ben Beecher a écrit :
I am using Grouper 2.4 with all recent patches installed. I get an error when I try to call the GetSubjects method using the Web Service.

java.lang.NoSuchMethodError: edu.internet2.middleware.grouper.subj.SubjectHelper.convertToMultiKey(Ledu/internet2/middleware/subject/Subject;)Lorg/apache/commons/collections/keyvalue/MultiKey;

I see this source file contains getSubjects() which calls convertToMultiKey(subject)
grouper-ws/grouper-ws/src/grouper-ws/edu/internet2/middleware/grouper/ws/GrouperServiceLogic.java

I see that convertToMultiKey() is here in the Tomcat directory
$ grep convertToMultiKey /var/tomcat/grouperdev/webapps/grouper-ws/WEB-INF/classes/edu/internet2/middleware/grouper/subj/SubjectHelper.java
  public static MultiKey convertToMultiKey(Subject subject) {

so it is strange that the method is not found by the Web Service. Any advice would be appreciated.

Ben Beecher

-----
Here is the stack trace

28-Jul-2020 14:32:41.674 SEVERE [ajp-nio-127.0.0.1-8009-exec-4] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [RestServlet] in context with path [/grouper-ws] threw exception [Servlet execution threw an exception] with root cause
 java.lang.NoSuchMethodError: edu.internet2.middleware.grouper.subj.SubjectHelper.convertToMultiKey(Ledu/internet2/middleware/subject/Subject;)Lorg/apache/commons/collections/keyvalue/MultiKey;
at edu.internet2.middleware.grouper.ws.GrouperServiceLogic.getSubjects(GrouperServiceLogic.java:5077)
at edu.internet2.middleware.grouper.ws.coresoap.GrouperService.getSubjects(GrouperService.java:2668)
at edu.internet2.middleware.grouper.ws.rest.GrouperServiceRest.getSubjects(GrouperServiceRest.java:1433)
at edu.internet2.middleware.grouper.ws.rest.method.GrouperWsRestGet$8.service(GrouperWsRestGet.java:432)
at edu.internet2.middleware.grouper.ws.rest.method.GrouperRestHttpMethod$1.service(GrouperRestHttpMethod.java:57)
at edu.internet2.middleware.grouper.ws.rest.GrouperRestServlet.service(GrouperRestServlet.java:202)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at edu.internet2.middleware.grouper.ws.GrouperServiceJ2ee.doFilter(GrouperServiceJ2ee.java:969)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:479)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)



Archive powered by MHonArc 2.6.19.

Top of Page