wso2is - Wso2 Scim user update with Patch -


while trying update user through scim patch request error , not sure issue.

this request

curl -v -k --user admin:admin -x patch -d '{         "schemas": ["urn:scim:schemas:core:1.0"],             "name": {                     "familyname": "tester"                 },           "meta": {           } }' --header "content-type:application/json" https://localhost:9443/wso2/scim/users/user-id-here 

and error in wso2

error {org.apache.catalina.core.standardwrappervalve} -  servlet.service() servlet [scimservlet] in context path [/wso2] threw exception java.lang.runtimeexception: org.apache.cxf.interceptor.fault     @ org.apache.cxf.interceptor.abstractfaultchaininitiatorobserver.onmessage(abstractfaultchaininitiatorobserver.java:116)     @ org.apache.cxf.phase.phaseinterceptorchain.dointercept(phaseinterceptorchain.java:336)     @ org.apache.cxf.transport.chaininitiationobserver.onmessage(chaininitiationobserver.java:121)     @ org.apache.cxf.transport.http.abstracthttpdestination.invoke(abstracthttpdestination.java:249)     @ org.apache.cxf.transport.servlet.servletcontroller.invokedestination(servletcontroller.java:248)     @ org.apache.cxf.transport.servlet.servletcontroller.invoke(servletcontroller.java:222)     @ org.apache.cxf.transport.servlet.servletcontroller.invoke(servletcontroller.java:153)     @ org.apache.cxf.transport.servlet.cxfnonspringservlet.invoke(cxfnonspringservlet.java:171)     @ org.apache.cxf.transport.servlet.abstracthttpservlet.handlerequest(abstracthttpservlet.java:289)     @ org.apache.cxf.transport.servlet.abstracthttpservlet.service(abstracthttpservlet.java:267)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:303)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)     @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)     @ org.apache.catalina.filters.httpheadersecurityfilter.dofilter(httpheadersecurityfilter.java:120)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:218)     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:122)     @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:614)     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:169)     @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103)     @ org.wso2.carbon.identity.context.rewrite.valve.tenantcontextrewritevalve.invoke(tenantcontextrewritevalve.java:72)     @ org.wso2.carbon.identity.authz.valve.authorizationvalve.invoke(authorizationvalve.java:91)     @ org.wso2.carbon.identity.auth.valve.authenticationvalve.invoke(authenticationvalve.java:60)     @ org.wso2.carbon.tomcat.ext.valves.compositevalve.continueinvocation(compositevalve.java:99)     @ org.wso2.carbon.tomcat.ext.valves.carbontomcatvalve$1.invoke(carbontomcatvalve.java:47)     @ org.wso2.carbon.webapp.mgt.tenantlazyloadervalve.invoke(tenantlazyloadervalve.java:57)     @ org.wso2.carbon.tomcat.ext.valves.tomcatvalvecontainer.invokevalves(tomcatvalvecontainer.java:47)     @ org.wso2.carbon.tomcat.ext.valves.compositevalve.invoke(compositevalve.java:62)     @ org.wso2.carbon.tomcat.ext.valves.carbonstuckthreaddetectionvalve.invoke(carbonstuckthreaddetectionvalve.java:159)     @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:958)     @ org.wso2.carbon.tomcat.ext.valves.carboncontextcreatorvalve.invoke(carboncontextcreatorvalve.java:57)     @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:116)     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:452)     @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1087)     @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:637)     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1756)     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1715)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)     @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61)     @ java.lang.thread.run(thread.java:748) caused by: org.apache.cxf.interceptor.fault     @ org.apache.cxf.service.invoker.abstractinvoker.createfault(abstractinvoker.java:170)     @ org.apache.cxf.service.invoker.abstractinvoker.invoke(abstractinvoker.java:136)     @ org.apache.cxf.jaxrs.jaxrsinvoker.invoke(jaxrsinvoker.java:204)     @ org.apache.cxf.jaxrs.jaxrsinvoker.invoke(jaxrsinvoker.java:101)     @ org.apache.cxf.interceptor.serviceinvokerinterceptor$1.run(serviceinvokerinterceptor.java:58)     @ org.apache.cxf.interceptor.serviceinvokerinterceptor.handlemessage(serviceinvokerinterceptor.java:94)     @ org.apache.cxf.phase.phaseinterceptorchain.dointercept(phaseinterceptorchain.java:272)     ... 42 more caused by: java.lang.nullpointerexception     @ org.wso2.charon.core.protocol.endpoints.userresourceendpoint.updatewithpatch(userresourceendpoint.java:622)     @ org.wso2.carbon.identity.scim.provider.resources.userresource.updateuserpatch(userresource.java:307)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:498)     @ org.apache.cxf.service.invoker.abstractinvoker.performinvocation(abstractinvoker.java:188)     @ org.apache.cxf.service.invoker.abstractinvoker.invoke(abstractinvoker.java:104)     ... 47 more 

i did request per scim doc

there similar ticket @ wso2 issue tracker consider fixed.

not sure issue. problem in request or wso2 configuration.

there 3 problems in patch request.

  1. username attribute missing. wso2 implementation requires have username attribute when doing patch operation on user.

  2. the "meta" attribute doesn't have "attributes" sub attribute. spec violation. if don't have attributes remove can omit meta attribute completely.

  3. specifying schema ""urn:scim:schemas:core:1.0" seems creating issue in wso2 identity server implementation.

the following working version of curl command have used.

curl -v -k --user admin:admin -x patch -d "{ "schemas":[], "name":{   "familyname": "tester" }, "username":"indunil", "meta": {   "attributes":[]  } }"  --header "content-type:application/json" https://localhost:9443/wso2/scim/users/e9e57b58-3e90-4165-aadc-697a06f1eb9e 

Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -