org.openliberty.wsc
Class PersonalProfileService

java.lang.Object
  extended by org.openliberty.wsc.BaseServiceClient
      extended by org.openliberty.wsc.PersonalProfileService

public class PersonalProfileService
extends BaseServiceClient

The Liberty ID-SIS Personal Profile (ID-SIS-PP) defines a web service. It offers profile information regarding a Principal. ID-SIS-PP is an instance of a data-oriented identity web service and is characterized by the ability to query and update attribute data and incorporates mechanisms from other specifications for access control and conveying data validation information and usage directives.

This Service Client models PP v1.1 using DST 2.1 and utilizing the DST 2.1 Reference implementation. Even though DST 2.1 defines a methodology for Delete and Create, PP only uses Query and Modify.

Currently Supported:

Currently Not Supported:

Author:
asa

Nested Class Summary
static class PersonalProfileService.DataModifyOption
          This enumeration models Table 4.
static class PersonalProfileService.DataQueryOption
          This enumeration models Table 3.
 
Field Summary
static java.lang.String DST_MODIFY_SUFFIX
          The suffix that is combined with the SERVICE_URN to indicate in the Action element of the SOAP header that the request is a Personal Profile Modification.
static java.lang.String DST_QUERY_SUFFIX
          The suffix that is combined with the SERVICE_URN to indicate in the Action element of the SOAP header that the request is a Personal Profile Query.
private static org.apache.log4j.Logger log
           
static java.lang.String OPTION_MULTIPLE_MODIFY_ITEM
          This is a URN that may be passed as an option from the Discovery Service indicating that the PP supports multiple ModifyItem objects in single Modify request
static java.lang.String OPTION_SUPPORTS_EXTENSIONS
          This is a URN that may be passed as an option from the Discovery Service indicating that the PP supports utilizing the Extensions and xs:anyAttributes specified in the DST
static java.lang.String OPTION_SUPPORTS_FULL_XPATH
          This is a URN that may be passed as an option from the Discovery Service indicating that the full XPath language is supported for making Queries and Modifications.
static java.lang.String SERVICE_URN
          This is the URN representing the Personal Profile Service
static java.lang.String STATUS_FAILED
          Used to compare against the Status code returned in the QueryResponse or ModifyResponse objects.
static java.lang.String STATUS_OK
          Used to compare against the Status code returned in the QueryResponse or ModifyResponse objects.
 
Constructor Summary
PersonalProfileService(DiscoveryService discoveryService, EndpointReference initialEndpointReference)
          
 
Method Summary
 AddressCard addressCardForID(java.lang.String id)
          Selection by the id XML attribute of AddressCard.
 java.util.List<AddressCard> addressCardsForAddressType(AddrType.Type addressType)
          Selection of AddressCard by an exact match on the contents of a leaf element for the following leaf elements: pp:AddrType
 java.util.List<AddressCard> addressCardsForNickName(java.lang.String nickname, boolean localScriptVersion)
          Selection of AddressCard by an exact match on the contents of a leaf element for the following leaf elements: pp:Nick pp:LNick
private  java.util.List<AddressCard> addressCardsForQueryString(java.lang.String queryString)
           
 AltID altIdForIDType(IDType.Type iDType)
          Selection of /pp:PP/pp:LegalIdentity/pp:AltID by an exact match against the AltID's IDType.
 AltID altIdForIDTypeURI(java.lang.String iDTypeURI)
          Selection of /pp:PP/pp:LegalIdentity/pp:AltID by an exact match against the AltID's IDType element content.
 boolean invokeModify(java.lang.String xPathModifySelector, org.opensaml.xml.XMLObject modifiedObject)
          This method attempts to update the portion of the Personal Profile indicated by the xPathModifySelector with the provided modifiedObject
 ModifyResponse invokeModifyForModifyItems(java.util.List<ModifyItem> modifyItems)
          This method invoked a Modify request to the Profile Service.
 QueryResponse invokeQuery(java.lang.String queryItemSelect)
          Using the DST 2.1 Reference implementation classes.
 QueryResponse invokeQueryForQueryItem(QueryItem queryItem)
          Invokes a PP Query for a single QueryItem
 QueryResponse invokeQueryForQueryItems(java.util.List<QueryItem> queryItems)
          This method provides support for multiple QueryItem elements
 ModifyItem modifyItemForXPathAndObject(java.lang.String xPathModifySelector, org.opensaml.xml.XMLObject modifiedObject)
          This method returns a ModifyItem with the data necessary to update the portion of the Personal Profile indicated by the xPathModifySelector with the provided modifiedObject
 MsgContact msgContactForID(java.lang.String id)
          Selection of a MsgContact by its id XML attribute.
 java.util.List<MsgContact> msgContactsForNickName(java.lang.String nickname, boolean localScriptVersion)
          Selection of MsgContact by an exact match on the contents of a leaf element for the following leaf elements: pp:Nick pp:LNick
private  java.util.List<MsgContact> msgContactsForQueryItem(QueryItem queryItem)
           
 java.util.List<MsgContact> msgContactsForSpecifics(MsgTechnology.Technology technology, MsgMethod.Method method, MsgType.Type type)
          Selection of MsgContact by an exact match on the contents of a leaf element for the following leaf elements: pp:MsgTechnology pp:MsgMethod pp:MsgType MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.
 java.util.List<MsgContact> msgContactsForSpecifics(java.lang.String technologyUri, java.lang.String methodUri, java.lang.String typeUri)
          Selection of MsgContact by an exact match on the contents of a leaf element for the following leaf elements: pp:MsgTechnology pp:MsgMethod pp:MsgType MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.
static PersonalProfileService personalProfileServiceForEndpointReference(DiscoveryService discoveryService, EndpointReference epr)
          Factory method that creates and initializes a PersonalProfileService.
 java.util.List<org.opensaml.xml.XMLObject> profileObjectsForXPathQuery(java.lang.String xpathQueryString)
          slash-separated path to any depth.
 QueryItem queryItemForAddressCardID(java.lang.String id, java.lang.String itemID)
          Takes an id (unique) and builds an AddressCard QueryItem
 QueryItem queryItemForAtIdByIDType(java.lang.String iDType, java.lang.String itemID)
          Returns a QueryItem for an AltID based on that AltIDs IDType element content
 QueryItem queryItemForMsgContactID(java.lang.String id, java.lang.String itemID)
          Takes an id (unique) and builds an MsgContact QueryItem
 QueryItem queryItemForMsgContactNickName(java.lang.String nickname, boolean localScriptVersion, java.lang.String itemID)
          Creates a QueryItem that is for a MsgContact based on a Nickname.
 QueryItem queryItemForMsgContactSpecifics(MsgTechnology.Technology technology, MsgMethod.Method method, MsgType.Type type, java.lang.String itemID)
          Generation of a QueryItem to query for MsgContact by an exact match on the contents of a leaf element for the following leaf elements: pp:MsgTechnology pp:MsgMethod pp:MsgType MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.
 QueryItem queryItemForMsgContactSpecifics(java.lang.String technologyUri, java.lang.String methodUri, java.lang.String typeUri, java.lang.String itemID)
          Generation of a QueryItem to query for MsgContact by an exact match on the contents of a leaf element for the following leaf elements: pp:MsgTechnology pp:MsgMethod pp:MsgType MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.
 QueryItem queryItemForString(java.lang.String properlyFormedQueryString, java.lang.String itemID)
          Accepts any string and places it inside of the select
 QueryItem queryItemForXPathQuery(java.lang.String xpathQueryString, java.lang.String itemID)
          Returns a QueryItem for the specified XPath String, if the string compiles.
 boolean serviceExplicitlySupportsDataModifyOption(PersonalProfileService.DataModifyOption option)
          Test to see whether the Personal Profile Service has registered support for a specific data modify option with the Discovery Service.
 boolean serviceExplicitlySupportsDataQueryOption(PersonalProfileService.DataQueryOption option)
          Test to see whether the Personal Profile Service has registered support for a specific data query option with the Discovery Service.
 boolean serviceExplicitlySupportsExtensions()
          ID-SIS-PP elements that have enumerated values use URIs as values ("values" may be referred to as "enumerators").
 boolean serviceExplicitlySupportsFullXPath()
          This indicates whether Full XPath Expressions can be used for any modify or query invocations
 boolean serviceExplicitlySupportsMultipleModifyItems()
          Checks whether multiple modification elements (ModifyItem) may be submitted in one Modify request
 
Methods inherited from class org.openliberty.wsc.BaseServiceClient
getDiscoveryService, getServiceEndpointReference, getServiceEndpointReferenceStore, isSigningOutgoingMessages, replaceServiceEndpointReference, serviceExplicitlySupportsOption, setDiscoveryService, setServiceEndpointReference, setSigningOutgoingMessages
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

SERVICE_URN

public static final java.lang.String SERVICE_URN
This is the URN representing the Personal Profile Service

See Also:
Constant Field Values

OPTION_MULTIPLE_MODIFY_ITEM

public static final java.lang.String OPTION_MULTIPLE_MODIFY_ITEM
This is a URN that may be passed as an option from the Discovery Service indicating that the PP supports multiple ModifyItem objects in single Modify request

See Also:
Constant Field Values

OPTION_SUPPORTS_EXTENSIONS

public static final java.lang.String OPTION_SUPPORTS_EXTENSIONS
This is a URN that may be passed as an option from the Discovery Service indicating that the PP supports utilizing the Extensions and xs:anyAttributes specified in the DST

See Also:
Constant Field Values

OPTION_SUPPORTS_FULL_XPATH

public static final java.lang.String OPTION_SUPPORTS_FULL_XPATH
This is a URN that may be passed as an option from the Discovery Service indicating that the full XPath language is supported for making Queries and Modifications.

See Also:
Constant Field Values

DST_QUERY_SUFFIX

public static final java.lang.String DST_QUERY_SUFFIX
The suffix that is combined with the SERVICE_URN to indicate in the Action element of the SOAP header that the request is a Personal Profile Query.

See Also:
Constant Field Values

DST_MODIFY_SUFFIX

public static final java.lang.String DST_MODIFY_SUFFIX
The suffix that is combined with the SERVICE_URN to indicate in the Action element of the SOAP header that the request is a Personal Profile Modification.

See Also:
Constant Field Values

STATUS_OK

public static final java.lang.String STATUS_OK
Used to compare against the Status code returned in the QueryResponse or ModifyResponse objects. A code with this value indicated success.

Note: Only OK and Failed are supported by PP v1.1 since they were the only supported by DST1.1

See Also:
Constant Field Values

STATUS_FAILED

public static final java.lang.String STATUS_FAILED
Used to compare against the Status code returned in the QueryResponse or ModifyResponse objects. A code with this value indicated failure.

Note: Only OK and Failed are supported by PP v1.1 since they were the only supported by DST1.1

See Also:
Constant Field Values
Constructor Detail

PersonalProfileService

public PersonalProfileService(DiscoveryService discoveryService,
                              EndpointReference initialEndpointReference)

Method Detail

personalProfileServiceForEndpointReference

public static PersonalProfileService personalProfileServiceForEndpointReference(DiscoveryService discoveryService,
                                                                                EndpointReference epr)
Factory method that creates and initializes a PersonalProfileService.

Parameters:
epr -
Returns:
an instantiated PersonalProfileService based on the EndpointReference that is passed in.

serviceExplicitlySupportsFullXPath

public boolean serviceExplicitlySupportsFullXPath()
This indicates whether Full XPath Expressions can be used for any modify or query invocations

The Select string holds an XPATH expression. An ID-SIS-PP implementation MAY support full XPATH expressions [XPATH] as a Select expression. If it does support full XPATH expressions, it MAY advertise the discovery option keyword "urn:liberty:dst:fullXPath"

If an implementation supports full XPATH for querying, then it MUST also support full XPATH for modifies.

Returns:

serviceExplicitlySupportsExtensions

public boolean serviceExplicitlySupportsExtensions()
ID-SIS-PP elements that have enumerated values use URIs as values ("values" may be referred to as "enumerators"). Each elementŐs description details the authority for adopting new official enumeration values. See [LibertyReg] for more information.

All containers and elements defined in the ID-SIS-PP schema have an Extension element which permits arbitrary schema extension. An implementation MAY support schema extension, but is not required to do so. If an implementation does support schema extension, then it MAY register the corresponding discovery option keyword "urn:liberty:dst:can:extend"

If you plan to extend this PP Client you will need to adhere to the approach designated by the OpenSAML Java XML-Tooling libraries. Any extended elements will need to extend XMLObject

Returns:

serviceExplicitlySupportsMultipleModifyItems

public boolean serviceExplicitlySupportsMultipleModifyItems()
Checks whether multiple modification elements (ModifyItem) may be submitted in one Modify request

A minimally compliant implementation is not required to support multiple Modification elements. The Modify operation functions as described in [LibertyDST]. The Modify operation has the additional relaxation that a minimally compliant ID-SIS-PP implementation MAY refuse a Modify request with multiple Modification elements, provided all processing rules specified in [LibertyDST] are followed regarding failure to support multiple Modification elements.

Implementations SHOULD support multiple Modification elements when feasible. If an implementation supports multiple Modification elements it MAY register the discovery option keyword "urn:liberty:dst:multipleModification."

Returns:

serviceExplicitlySupportsDataQueryOption

public boolean serviceExplicitlySupportsDataQueryOption(PersonalProfileService.DataQueryOption option)
Test to see whether the Personal Profile Service has registered support for a specific data query option with the Discovery Service.

Parameters:
option -
Returns:

serviceExplicitlySupportsDataModifyOption

public boolean serviceExplicitlySupportsDataModifyOption(PersonalProfileService.DataModifyOption option)
Test to see whether the Personal Profile Service has registered support for a specific data modify option with the Discovery Service.

Parameters:
option -
Returns:

modifyItemForXPathAndObject

public ModifyItem modifyItemForXPathAndObject(java.lang.String xPathModifySelector,
                                              org.opensaml.xml.XMLObject modifiedObject)
This method returns a ModifyItem with the data necessary to update the portion of the Personal Profile indicated by the xPathModifySelector with the provided modifiedObject

The following xPathModifySelectors MUST be supported by the PP:

This set of slashed paths defines the minimal granularity of updates that MUST be supported. Updates to the containers listed above SHOULD be atomic when feasible.

Parameters:
xPathModifySelector -
modifiedObject -
Returns:

invokeModify

public boolean invokeModify(java.lang.String xPathModifySelector,
                            org.opensaml.xml.XMLObject modifiedObject)
This method attempts to update the portion of the Personal Profile indicated by the xPathModifySelector with the provided modifiedObject

The following xPathModifySelectors MUST be supported by the PP:

This set of slashed paths defines the minimal granularity of updates that MUST be supported. Updates to the containers listed above SHOULD be atomic when feasible.

Parameters:
xPathModifySelector -
modifiedObject -
Returns:

invokeModifyForModifyItems

public ModifyResponse invokeModifyForModifyItems(java.util.List<ModifyItem> modifyItems)
This method invoked a Modify request to the Profile Service. PP v1.1 is based on DST1.1 but here we use DST2.1.

A minimally compliant implementation is not required to support multiple Modification elements. The Modify operation functions as described in [LibertyDST]. The Modify operation has the additional relaxation that a minimally compliant ID-SIS-PP implementation MAY refuse a Modify request with multiple Modification elements, provided all processing rules specified in [LibertyDST] are followed regarding failure to support multiple Modification elements.

Although the DST 2.1 reference implementation provides for an additional Query to be placed in ResultQuery elements inside of the Modify element, this is not provided for in PP v1.1, and is therefore not implemented here.

Parameters:
modifyItems -
Returns:

altIdForIDType

public AltID altIdForIDType(IDType.Type iDType)
Selection of /pp:PP/pp:LegalIdentity/pp:AltID by an exact match against the AltID's IDType.

Parameters:
iDType - Type enumerated in IDType
Returns:

altIdForIDTypeURI

public AltID altIdForIDTypeURI(java.lang.String iDTypeURI)
Selection of /pp:PP/pp:LegalIdentity/pp:AltID by an exact match against the AltID's IDType element content. This method allows for the user to specify IDTypes that are not enumerated in the IDType class

Parameters:
iDTypeURI -
Returns:

msgContactForID

public MsgContact msgContactForID(java.lang.String id)
Selection of a MsgContact by its id XML attribute.

Parameters:
id - the id that will match a MsgContact
Returns:

msgContactsForSpecifics

public java.util.List<MsgContact> msgContactsForSpecifics(MsgTechnology.Technology technology,
                                                          MsgMethod.Method method,
                                                          MsgType.Type type)
Selection of MsgContact by an exact match on the contents of a leaf element for the following leaf elements: MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.

Parameters:
technology - an enumerated technology from the MsgTechnology Object
method - an enumerated method from the MsgMethod Object
type - an enumerated type from the MsgType Object
Returns:
a list of MsgContact objects

msgContactsForSpecifics

public java.util.List<MsgContact> msgContactsForSpecifics(java.lang.String technologyUri,
                                                          java.lang.String methodUri,
                                                          java.lang.String typeUri)
Selection of MsgContact by an exact match on the contents of a leaf element for the following leaf elements: MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.

Parameters:
technologyUri -
methodUri -
typeUri -
Returns:
a list of MsgContact objects

msgContactsForNickName

public java.util.List<MsgContact> msgContactsForNickName(java.lang.String nickname,
                                                         boolean localScriptVersion)
Selection of MsgContact by an exact match on the contents of a leaf element for the following leaf elements:
  1. pp:Nick
  2. pp:LNick

Parameters:
nickname -
localScriptVersion - if true indicates that the query should be for pp:LNick. false indicates pp:Nick
Returns:

msgContactsForQueryItem

private java.util.List<MsgContact> msgContactsForQueryItem(QueryItem queryItem)

addressCardForID

public AddressCard addressCardForID(java.lang.String id)
Selection by the id XML attribute of AddressCard.

Parameters:
ID -
Returns:

addressCardsForAddressType

public java.util.List<AddressCard> addressCardsForAddressType(AddrType.Type addressType)
Selection of AddressCard by an exact match on the contents of a leaf element for the following leaf elements:
  1. pp:AddrType

Example:

  <QueryItem itemID="home"> 
      <Select> 
          /pp:PP/pp:AddressCard
              [pp:AddressType="urn:liberty:id-sis-pp:addrType:home"] 
      </Select> 
  </QueryItem> 
  
Only one of the tests needs to be supported in any one slashed path. Such bracketed expression may also appear within (i.e., in the middle of) a slashed path.

Parameters:
addressType -
Returns:

addressCardsForNickName

public java.util.List<AddressCard> addressCardsForNickName(java.lang.String nickname,
                                                           boolean localScriptVersion)
Selection of AddressCard by an exact match on the contents of a leaf element for the following leaf elements:
  1. pp:Nick
  2. pp:LNick

Parameters:
nickname -
localScriptVersion -
Returns:

addressCardsForQueryString

private java.util.List<AddressCard> addressCardsForQueryString(java.lang.String queryString)

queryItemForMsgContactID

public QueryItem queryItemForMsgContactID(java.lang.String id,
                                          java.lang.String itemID)
Takes an id (unique) and builds an MsgContact QueryItem

Parameters:
id - the id that will match a MsgContact
itemID - an id that the Data response will reference to indicate correlation with the QueryItem
Returns:

queryItemForMsgContactNickName

public QueryItem queryItemForMsgContactNickName(java.lang.String nickname,
                                                boolean localScriptVersion,
                                                java.lang.String itemID)
Creates a QueryItem that is for a MsgContact based on a Nickname. Supports Nickname and nickname in local script

Parameters:
nickname -
localScriptVersion - if true indicates that the query should be for pp:LNick. false indicates pp:Nick
itemID - an id that the Data response will reference to indicate correlation with the QueryItem
Returns:

queryItemForMsgContactSpecifics

public QueryItem queryItemForMsgContactSpecifics(java.lang.String technologyUri,
                                                 java.lang.String methodUri,
                                                 java.lang.String typeUri,
                                                 java.lang.String itemID)
Generation of a QueryItem to query for MsgContact by an exact match on the contents of a leaf element for the following leaf elements: MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.

Parameters:
technologyUri -
methodUri -
typeUri -
itemID - an id that the Data response will reference to indicate correlation with the QueryItem
Returns:
a list of MsgContact objects

queryItemForMsgContactSpecifics

public QueryItem queryItemForMsgContactSpecifics(MsgTechnology.Technology technology,
                                                 MsgMethod.Method method,
                                                 MsgType.Type type,
                                                 java.lang.String itemID)
Generation of a QueryItem to query for MsgContact by an exact match on the contents of a leaf element for the following leaf elements: MsgTechnology, MsgMethod, and MsgType can be tested in isolation or simultaneously combined with an AND operator.

Parameters:
technology - an enumerated technology from the MsgTechnology Object
method - an enumerated method from the MsgMethod Object
type - an enumerated type from the MsgType Object
itemID - an id that the Data response will reference to indicate correlation with the QueryItem
Returns:
a list of MsgContact objects

queryItemForAddressCardID

public QueryItem queryItemForAddressCardID(java.lang.String id,
                                           java.lang.String itemID)
Takes an id (unique) and builds an AddressCard QueryItem

Parameters:
id - the id that will match an AddressCard
itemID - an id that the Data response will reference to indicate correlation with the QueryItem
Returns:

queryItemForXPathQuery

public QueryItem queryItemForXPathQuery(java.lang.String xpathQueryString,
                                        java.lang.String itemID)
Returns a QueryItem for the specified XPath String, if the string compiles. itemID is optional, but is used to connect the QueryItem with the resultant Data element's itemIDRef.

NOTE: Should this be used to prepare every QueryItem ?

Parameters:
xpathQueryString -
itemID - the id of the QueryItem so that the Data element may be matched by itemIDRef
Returns:

queryItemForAtIdByIDType

public QueryItem queryItemForAtIdByIDType(java.lang.String iDType,
                                          java.lang.String itemID)
Returns a QueryItem for an AltID based on that AltIDs IDType element content

Parameters:
iDType -
itemID - the id of the QueryItem so that the Data element may be matched by itemIDRef
Returns:

queryItemForString

public QueryItem queryItemForString(java.lang.String properlyFormedQueryString,
                                    java.lang.String itemID)
Accepts any string and places it inside of the select

Parameters:
properlyFormedQueryString -
Returns:

profileObjectsForXPathQuery

public java.util.List<org.opensaml.xml.XMLObject> profileObjectsForXPathQuery(java.lang.String xpathQueryString)
slash-separated path to any depth. The path is always anchored at the document root and may not contain wild cards or empty nodes. ID-SIS-PP may be extended; the current complete set of all possible slashed paths is as follows:

/pp:PP
/pp:PP/pp:InformalName
/pp:PP/pp:LInformalName
/pp:PP/pp:CommonName
/pp:PP/pp:CommonName/pp:CN
/pp:PP/pp:CommonName/pp:LCN
/pp:PP/pp:CommonName/pp:AltCN
/pp:PP/pp:CommonName/pp:LAltCN
/pp:PP/pp:CommonName/pp:AnalyzedName
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:PersonalTitle
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:LPersonalTitle
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:FN
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:LFN
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:SN
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:LSN
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:MN
/pp:PP/pp:CommonName/pp:AnalyzedName/pp:LMN
/pp:PP/pp:LegalIdentity
/pp:PP/pp:LegalIdentity/pp:LegalName
/pp:PP/pp:LegalIdentity/pp:LLegalName
/pp:PP/pp:LegalIdentity/pp:AnalyzedName
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:PersonalTitle
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:LPersonalTitle
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:FN
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:LFN
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:SN
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:LSN
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:MN
/pp:PP/pp:LegalIdentity/pp:AnalyzedName/pp:LMN
/pp:PP/pp:LegalIdentity/pp:VAT
/pp:PP/pp:LegalIdentity/pp:VAT/pp:IDValue
/pp:PP/pp:LegalIdentity/pp:VAT/pp:IDType
/pp:PP/pp:LegalIdentity/pp:AltID
/pp:PP/pp:LegalIdentity/pp:AltID/pp:IDValue
/pp:PP/pp:LegalIdentity/pp:AltID/pp:IDType
/pp:PP/pp:LegalIdentity/pp:DOB
/pp:PP/pp:LegalIdentity/pp:Gender
/pp:PP/pp:LegalIdentity/pp:MaritalStatus
/pp:PP/pp:EmploymentIdentity
/pp:PP/pp:EmploymentIdentity/pp:JobTitle
/pp:PP/pp:EmploymentIdentity/pp:LJobTitle
/pp:PP/pp:EmploymentIdentity/pp:O
/pp:PP/pp:EmploymentIdentity/pp:LO
/pp:PP/pp:EmploymentIdentity/pp:AltO
/pp:PP/pp:EmploymentIdentity/pp:AltLO
/pp:PP/pp:AddressCard
/pp:PP/pp:AddressCard/pp:AddrType
/pp:PP/pp:AddressCard/pp:Address
/pp:PP/pp:AddressCard/pp:Address/pp:PostalAddress
/pp:PP/pp:AddressCard/pp:Address/pp:LPostalAddress
/pp:PP/pp:AddressCard/pp:Address/pp:PostalCode
/pp:PP/pp:AddressCard/pp:Address/pp:L
/pp:PP/pp:AddressCard/pp:Address/pp:LL
/pp:PP/pp:AddressCard/pp:Address/pp:St
/pp:PP/pp:AddressCard/pp:Address/pp:LSt
/pp:PP/pp:AddressCard/pp:Address/pp:C
/pp:PP/pp:AddressCard/pp:Nick
/pp:PP/pp:AddressCard/pp:LNick
/pp:PP/pp:AddressCard/pp:LComment
/pp:PP/pp:MsgContact
/pp:PP/pp:MsgContact/pp:Nick
/pp:PP/pp:MsgContact/pp:LNick
/pp:PP/pp:MsgContact/pp:LComment
/pp:PP/pp:MsgContact/pp:MsgType
/pp:PP/pp:MsgContact/pp:MsgMethod
/pp:PP/pp:MsgContact/pp:MsgTechnology
/pp:PP/pp:MsgContact/pp:MsgProvider
/pp:PP/pp:MsgContact/pp:MsgAccount
/pp:PP/pp:MsgContact/pp:MsgSubaccount
/pp:PP/pp:Facade
/pp:PP/pp:Facade/pp:MugShot
/pp:PP/pp:Facade/pp:WebSite
/pp:PP/pp:Facade/pp:NamePronounced
/pp:PP/pp:Facade/pp:GreetSound
/pp:PP/pp:Facade/pp:GreetMeSound
/pp:PP/pp:Demographics
/pp:PP/pp:Demographics/pp:DisplayLanguage
/pp:PP/pp:Demographics/pp:Language
/pp:PP/pp:Demographics/pp:Birthday
/pp:PP/pp:Demographics/pp:Age
/pp:PP/pp:Demographics/pp:TimeZone
/pp:PP/pp:SignKey
/pp:PP/pp:EncryptKey
/pp:PP/pp:EmergencyContact
/pp:PP/pp:LEmergencyContact

Parameters:
xpathQueryString -
Returns:

invokeQuery

public QueryResponse invokeQuery(java.lang.String queryItemSelect)
Using the DST 2.1 Reference implementation classes.

(From DST v2.1 specification document 2317 - 2321) When SOAP action names are need, they SHOULD be formed by appending to service type one of the Request names, i.e., Create, Delete, Query, Modify, etc. For Example:

 urn:liberty:id-sis-dap:2005-10:dst-2.1:Query 
 

In the case of the Personal Profile Service the Query Action would look like this:

 urn:liberty:id-sis-pp:2005-05:dst-2.1:Query 
 

Parameters:
queryItemSelect - an XPath query string, not enforced

invokeQueryForQueryItem

public QueryResponse invokeQueryForQueryItem(QueryItem queryItem)
Invokes a PP Query for a single QueryItem

Parameters:
queryItem -
Returns:

invokeQueryForQueryItems

public QueryResponse invokeQueryForQueryItems(java.util.List<QueryItem> queryItems)
This method provides support for multiple QueryItem elements

As specified in [LibertyDST], a minimally compliant ID-SIS-PP implementation MUST support multiple QueryItem elements.

Parameters:
queryItems -
Returns: