You need to invoke the built in Queue Sharing service to request access to another user's queue. This will give them a task in their todo list from which they can accept or decline the request. As for all orchestrations, the operation name is "invoke". The input map must look like this:
Map inputs = new HashMap();
inputs.put("requesterId", requesterId);
inputs.put("requesterName", requesterName);
inputs.put("granterId", userOid);
inputs.put("granterName", granter.getCommonName());
To remove your access to another user's queue, you also use the revokeQueueAccess() method, and provide the other user's queueid and your useroid as parms.
Hope this helps,
Jon