Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Setting attributes via soap client

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Setting attributes via soap client


Chronological Thread 
  • From: Rob Urquhart <>
  • To: Chris Hyzer <>,
  • Subject: Re: [grouper-users] Setting attributes via soap client
  • Date: Fri, 1 Apr 2011 10:54:57 -0700

Hi Chris. Thanks for your response.
I did see that in the documentation and I am specifying all the "unused"
params as empty strings. The soap request that gets generated looks right to
me. (See attached).
However, I think the problem may be that my db didn't get set up properly.
The Hib3AttributeDefNameDAO.findByNameSecure method which throws the
AttributeDefNotFoundException is doing a search on the AttributeDefName
entity, but the grouper_attribute_def_name table is empty. Oddly, this
doesn't affect adding attributes via gsh. For example,
setGroupAttr("robert:testGroup1","grouperLoaderDbName", "grouper") works
fine.
Do I need to rerun the db setup?

Rob

Attachment: soap_request.xml
Description: application/xml



On 2011-03-31, at 5:31 PM, Chris Hyzer wrote:

> There is a bug in the axis version we have (not sure if it is fixed in
> latest or not) where if you aren't sending a param, that you need to send
> the empty string, or else the params will be marshaled in the wrong order.
>
> See this example:
>
> http://anonsvn.internet2.edu/cgi-bin/viewvc.cgi/i2mi/trunk/grouper-ws/grouper-ws/doc/samples/assignAttributesWithValue/WsSampleAssignAttributesWithValueLite_soap.txt?revision=6995&view=co
>
> I forget if grouperLoader works with the new attribute framework, which is
> what this service is for... hmm
>
> Thanks,
> Chris
>
> -----Original Message-----
> From:
>
>
> [mailto:]
> On Behalf Of Rob Urquhart
> Sent: Thursday, March 31, 2011 7:45 PM
> To:
>
> Subject: [grouper-users] Setting attributes via soap client
>
> I'm trying to set some attributes on a group on which I've added the
> grouperLoader type. For example, I'm trying to set the grouperLoaderDbName
> attribute to "grouper". I'm using the assignAttributesLite method, but I
> get an error of "Cannot find (or not allowed to find) attribute def name
> with name: 'grouperLoaderDbName'".
>
> The details are below. The userid that I am using is in the wheel group,
> and my other soap calls work (creating a list, adding the grouperLoader
> type, etc.). Have I set up the request correctly? Any pointers would be
> much appreciated!
>
> Rob
>
> ResultCode was: EXCEPTION
> ResultCode2: null
> ResultMessage: clientVersion: 1.6.3, attributeAssignType: group,
> attributeAssignOperation: assign_attr, attributeAssignValues: null,
> attributeAssignValueOperation: add_value, wsOwnerAttributeAssignLookups:
> null, wsAttributeAssignLookups: null, wsAttributeDefNameLookups: Array
> size: 1: [0]: WsAttributeDefNameLookup[uuid=,name=grouperLoaderDbName]
> , wsOwnerStemLookups: null, wsOwnerGroupLookups: Array size: 1: [0]:
> WsGroupLookup[uuid=,groupName=robert:testGroup1]
> , wsOwnerMembershipLookups: null, wsOwnerMembershipAnyLookups: null,
> wsOwnerAttributeDefLookups: null, actions: null, includeSubjectDetail:
> false, actAsSubject:
> WsSubjectLookup[subjectId=GrouperSystem,subjectIdentifier=,subjectSourceId=],
> subjectAttributeNames: null
> , paramNames:
> , params: null
> , wsOwnerSubjectLookups: null
> , attributeDefsToReplace: null
> , actionsToReplace: Array size: 1: [0]: assign
>
> , attributeDefTypesToReplace: null,
> edu.internet2.middleware.grouper.exception.AttributeDefNotFoundException:
> Cannot find (or not allowed to find) attribute def name with name:
> 'grouperLoaderDbName'
> at
> edu.internet2.middleware.grouper.internal.dao.hib3.Hib3AttributeDefNameDAO.findByNameSecure(Hib3AttributeDefNameDAO.java:124)
> at
> edu.internet2.middleware.grouper.attr.finder.AttributeDefNameFinder.findByName(AttributeDefNameFinder.java:40)
> at
> edu.internet2.middleware.grouper.ws.soap.WsAttributeDefNameLookup.retrieveAttributeDefNameIfNeeded(WsAttributeDefNameLookup.java:166)
> at
> edu.internet2.middleware.grouper.ws.soap.WsAttributeDefNameLookup.retrieveAttributeDefNameIfNeeded(WsAttributeDefNameLookup.java:127)
> at
> edu.internet2.middleware.grouper.ws.soap.WsAttributeDefNameLookup.convertToAttributeDefNameIds(WsAttributeDefNameLookup.java:293)
> at
> edu.internet2.middleware.grouper.ws.soap.WsAttributeDefNameLookup.convertToAttributeDefNameIds(WsAttributeDefNameLookup.java:258)
> at
> edu.internet2.middleware.grouper.ws.rest.attribute.WsAssignAttributeLogic.assignAttributesHelper(WsAssignAttributeLogic.java:314)
> at
> edu.internet2.middleware.grouper.ws.GrouperServiceLogic.assignAttributes(GrouperServiceLogic.java:5348)
> at
> edu.internet2.middleware.grouper.ws.GrouperServiceLogic.assignAttributesLite(GrouperServiceLogic.java:5529)
> at
> edu.internet2.middleware.grouper.ws.soap.GrouperService.assignAttributesLite(GrouperService.java:3270)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
> at
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
> at
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
> at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> edu.internet2.middleware.grouper.ws.GrouperServiceAxisServlet.service(GrouperServiceAxisServlet.java:60)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> edu.internet2.middleware.grouper.ws.GrouperServiceJ2ee.doFilter(GrouperServiceJ2ee.java:639)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> at java.lang.Thread.run(Thread.java:680)
>
> --
> Rob Urquhart
> Institutional, Collaborative, and Academic Technologies (ICAT)
> IT Services
> Simon Fraser University
> rob<dot>urquhart<at>sfu.ca
>
>
>
>
>

--
Rob Urquhart
Institutional, Collaborative, and Academic Technologies (ICAT)
IT Services
Simon Fraser University
778-782-3650









Archive powered by MHonArc 2.6.16.

Top of Page