GetResponsibleParty

Short Description

Gets the ResponsibleParty object associated with the specified Person or IdentityGroup and responsibility.

Category

User interface helper methods

Syntax

rc=DoRequest("<GetResponsibleParty>...</GetResponsibleParty>",outMetadata);

Parameters

Method Parameters
Parameter
Type
Direction
Description
<GetResponsibleParty/>
C
in
Metadata property string that identifies a ResponsibleParty object. See the “Details” section for information about the format of the metadata property string.

Details

The GetResponsibleParty method enables clients to get a ResponsibleParty object for a specified identity that might exist in a SAS Metadata Repository to which the requesting user does not have ReadMetadata permission. The method gets ResponsibleParty objects associated with both Person and IdentityGroup objects. The GetMetadata method is typically used to get the ResponsibleParty objects associated with an identity. However, the GetMetadata method returns only objects which the requesting user is authorized to read.
The GetResponsibleParty method is available in the DoRequest interface only. The method and its parameters are specified in an XML input string within the INMETADATA parameter of the DoRequest method. The method's output is returned in the DoRequest method's OUTMETADATA parameter.
The XML input string consists of a <GETRESPONSIBLEPARTY> element that passes a metadata property string that identifies a ResponsibleParty object in the following form:
<ResponsibleParty IdentityName='name' Responsibility='role'/>
The GetResponsibleParty method gets the ResponsibleParty object whose Name and Role attribute values match the specified IDENTITYNAME and RESPONSIBILITY values.
A user who has administrative status on the SAS Metadata Server can get the ResponsibleParty object of any user and role. A typical user can get only a ResponsibleParty object for his or her name and role.
The name value comparison is not case sensitive as the security subsystem enforces name-uniqueness for Person objects in the SAS Metadata Server. A null value in IDENTITYNAME implies the connected user. If the specified or implied identity is not found on the SAS Metadata Server, an error stating that the object was not found is returned.
The role value comparison is performed as follows:
  1. A case-sensitive comparison is performed. If a match is found, then the Id value of the ResponsibleParty object is returned.
  2. If a match is not found, a case-insensitive comparison is performed. If a match is found, then the Id value of the ResponsibleParty object is returned.
  3. If a match is not found, then the Id value of the ResponsibleParty object is not returned. An error message is not issued.
  4. A null value is not accepted in the RESPONSIBILITY parameter. The ResponsibleParty method returns an error if you omit the RESPONSIBILITY parameter or if it specifies a null value.
Although the AddResponsibleParty method does not create a ResponsibleParty object for the Public IdentityGroup, a user who is connected to the SAS Metadata Server as Public can use the GetResponsibleParty method to get the ResponsibleParty object of a valid IdentityGroup. An IdentityGroup is valid if Public is defined as a member.
The output of the GetResponsibleParty method mirrors the input, except the object identifier of the requested object is included, if a match is found.

Example

The following is an example of a DoRequest method call that issues a GetResponsibleParty request.
outMetadata=""
inMetadata =
"<GetResponsibleParty>
   <ResponsibleParty IdentityName=' ' Responsibility='Owner'/>
</GetResponsibleParty>";

rc=DoRequest(inMetadata,outMetadata);
In this example, the method gets the ResponsibleParty objects that store a Role value of “Owner” for the connected user. If the requesting user is connected as Public, the method returns an error.