By: Theodore Sands user 02 Mar 2017 at 3:02 p.m. CST

5 Responses
Theodore Sands gravatar
Using SCIM endpoints, I can query on base attributes of the user. But, if I try and query on extension attributes (urn:ietf:params:scim:schemas:extension:gluu:2.0:User), I get a 400 error. A normal request like {server}/identity/seam/resource/restv1/scim/v2/Users/?filter=familyName%20sw%20%22sand%22 gives me results because I have a user with the _familyName_=Sands. But, I also have a custom extension named, lets say, _extensionWithValue_. If I do a similar query for that attribute set to "value" for a handful of identities ({server}/identity/seam/resource/restv1/scim/v2/Users/?filter=extensionWithValue%20sw%20%22val%22) I get a 400 error with the message: ``` { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "status": "400", "scimType": "invalidFilter", "detail": "Unexpected processing error; please check the input parameters" } ``` Even when I use the fully qualified name for the attribute (urn:ietf:params:scim:schemas:extension:gluu:2.0:User.extensionWithValue), I get the 400. In the oxtrust.log file, the pertinent lines are: ``` 2017-03-02 20:52:39,409 INFO [gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService] createFilter() 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService] visitTree() 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService] getParser() 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.service.antlr.scimFilter.MainScimFilterVisitor] visitScimFilter() 2017-03-02 20:52:39,410 INFO [oxtrust.service.antlr.scimFilter.visitor.UserFilterVisitor] UserFilterVisitor.visitATTR_OPER_CRITERIA() 2017-03-02 20:52:39,410 INFO [oxtrust.service.antlr.scimFilter.visitor.UserFilterVisitor] UserFilterVisitor.attrOperCriteriaResolver() 2017-03-02 20:52:39,410 INFO [oxtrust.service.antlr.scimFilter.visitor.UserFilterVisitor] ##### attrName = extentionWithValue, ldapAttributeName = extentionWithValue, criteria = val 2017-03-02 20:52:39,410 INFO [oxtrust.service.antlr.scimFilter.visitor.UserFilterVisitor] ##### expr = extentionWithValue=val* 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] ### CONVERTED PARAMS ## 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] parsed filter = (extentionWithValue=val*) 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] startIndex = 1 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] count = 100 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] sortBy = displayName 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] sortOrder = ascending 2017-03-02 20:52:39,410 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] attributes = null 2017-03-02 20:52:39,434 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] ### RESULTS INFO ## 2017-03-02 20:52:39,434 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] totalResults = 29 2017-03-02 20:52:39,434 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] itemsPerPage = 29 2017-03-02 20:52:39,434 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] startIndex = 1 2017-03-02 20:52:39,434 INFO [gluu.oxtrust.ws.rs.scim2.UserWebService] ---------- ```

By Theodore Sands user 02 Mar 2017 at 3:07 p.m. CST

Theodore Sands gravatar
It appears there is an exception directly following the pertinent log I posted in my initial question: ``` 2017-03-02 20:37:32,176 ERROR [org.jboss.seam.exception.Exceptions] handled and logged exception javax.servlet.ServletException: viewId:/person/personInventory.htm - View /person/personInventory.htm could not be restored. at javax.faces.webapp.FacesServlet.service(FacesServlet.java:606) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at org.jboss.seam.web.RewriteFilter.process(RewriteFilter.java:98) at org.jboss.seam.web.RewriteFilter.doFilter(RewriteFilter.java:57) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: javax.faces.application.ViewExpiredException: viewId:/person/personInventory.htm - View /person/personInventory.htm could not be restored. at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:205) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) ... 39 more ```

By Shekhar L. staff 04 Mar 2017 at 10:38 p.m. CST

Shekhar L. gravatar
Hi Theodore , Can u please share the version you are using. Thanks & Regards, Shekhar L.

By Theodore Sands user 07 Mar 2017 at 12:46 p.m. CST

Theodore Sands gravatar
Version 2.4.4

By Michael Schwartz Account Admin 10 Mar 2017 at 11:11 a.m. CST

Michael Schwartz gravatar
We will fix this in version 3.1

By Shekhar L. staff 10 Mar 2017 at 11:17 a.m. CST

Shekhar L. gravatar
Hi Theodore, Please try our latest version.Filters are working good on that. Thanks & regards, Shekhar L.