RIS.war REST endpoint problems


I'm having a strange problem using the RIS.war REST services. I've
configured the RIS.war and essentially the implementation is working:

A GET call to http://userappserver.domain.com:8180/RIS/identities
returns a list of users with attributes:

(copied one entry of the entire list)


Code:
--------------------

{
"Managers": [],
"Groups": [],
"Links": [
{
"Link": "/RIS/wf/workitems?filter=Addressee=cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
"Type": "wf/workitems",
"Value": "Workflow Workitems"
}
],
"GUID": "8679b04e984e064bdaa68679b04e984e",
"Link": "/RIS/identities/8679b04e984e064bdaa68679b04e984e",
"DN": "cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
"FirstName": [
"Some"
],
"LastName": [
"Name"
],
<omitted photo tag>
"Title": [],
"TelephoneNumber": [],
"Department": [],
"Location": [],
"Email": []
}

--------------------


This seems correct but the strange thing is, is that the TelephoneNumber
and Email attributes stay empty even if they are populated with values
in eDir.

However:
Using a GET to get the Email address attribute works like a charm.

http://tinyurl.com/nx3rawf


Code:
--------------------

{
"GUID": "8679b04e984e064bdaa68679b04e984e",
"DN": "cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
"Link": "/RIS/identities/8679b04e984e064bdaa68679b04e984e",
"Email": [
"some-mail@maildomain.com"
]
}

--------------------


Does anybody know why the identities list does not display the Email
Address while the specific query does return a value ?

A second question: according to the documentation, the following URL
should display all user attributes configured in the DAL:

http://tinyurl.com/obn3qqt

But this returns an error:


Code:
--------------------

{
"Code": {
"Value": "Sender",
"Subcode": {
"Value": "InvalidUri"
}
},
"Reason": {
"Text": "Not found"
}
}

--------------------


Userapp is on patch E (including the RIS.war). Any ideas on both
problems ?


--
Sjoerdk
------------------------------------------------------------------------
Sjoerdk's Profile: https://forums.netiq.com/member.php?userid=1135
View this thread: https://forums.netiq.com/showthread.php?t=53415

  • On 04/30/2015 03:54 AM, Sjoerdk wrote:
    >
    > I'm having a strange problem using the RIS.war REST services. I've
    > configured the RIS.war and essentially the implementation is working:
    >
    > A GET call to http://userappserver.domain.com:8180/RIS/identities
    > returns a list of users with attributes:
    >
    > (copied one entry of the entire list)
    >
    >
    > Code:
    > --------------------
    >
    > {
    > "Managers": [],
    > "Groups": [],
    > "Links": [
    > {
    > "Link": "/RIS/wf/workitems?filter=Addressee=cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
    > "Type": "wf/workitems",
    > "Value": "Workflow Workitems"
    > }
    > ],
    > "GUID": "8679b04e984e064bdaa68679b04e984e",
    > "Link": "/RIS/identities/8679b04e984e064bdaa68679b04e984e",
    > "DN": "cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
    > "FirstName": [
    > "Some"
    > ],
    > "LastName": [
    > "Name"
    > ],
    > <omitted photo tag>
    > "Title": [],
    > "TelephoneNumber": [],
    > "Department": [],
    > "Location": [],
    > "Email": []
    > }
    >
    > --------------------
    >
    >
    > This seems correct but the strange thing is, is that the TelephoneNumber
    > and Email attributes stay empty even if they are populated with values
    > in eDir.
    >
    > However:
    > Using a GET to get the Email address attribute works like a charm.
    >
    > http://tinyurl.com/nx3rawf
    >
    >
    > Code:
    > --------------------
    >
    > {
    > "GUID": "8679b04e984e064bdaa68679b04e984e",
    > "DN": "cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
    > "Link": "/RIS/identities/8679b04e984e064bdaa68679b04e984e",
    > "Email": [
    > "some-mail@maildomain.com"
    > ]
    > }
    >
    > --------------------
    >
    >
    > Does anybody know why the identities list does not display the Email
    > Address while the specific query does return a value ?
    >
    > A second question: according to the documentation, the following URL
    > should display all user attributes configured in the DAL:
    >
    > http://tinyurl.com/obn3qqt
    >
    > But this returns an error:
    >
    >
    > Code:
    > --------------------
    >
    > {
    > "Code": {
    > "Value": "Sender",
    > "Subcode": {
    > "Value": "InvalidUri"
    > }
    > },
    > "Reason": {
    > "Text": "Not found"
    > }
    > }
    >
    > --------------------
    >
    >
    > Userapp is on patch E (including the RIS.war). Any ideas on both
    > problems ?
    >
    >

    Greetings,

    Your question number #1 is working as designed. The generic an identity
    will only return a few attributes. It will not return email or
    telephone. You have to ask for those attributes specifically.

    As for your second question I will look.

    --

    Sincerely,
    Steven Williams
    Lead Software Engineer
    NetIQ

  • > Your question number #1 is working as designed. The generic an identity
    > will only return a few attributes. It will not return email or
    > telephone. You have to ask for those attributes specifically.
    >


    Well that's a bit confusing then as it seems that the attribute is empty
    because it does show the Email name, but with null value.
    It might be wise to include this in the documentation. One could draw
    incorrect conclusions on the result set.

    Thanks advance for your efforts to look into the second question.


    --
    Sjoerdk
    ------------------------------------------------------------------------
    Sjoerdk's Profile: https://forums.netiq.com/member.php?userid=1135
    View this thread: https://forums.netiq.com/showthread.php?t=53415

  • On 04/30/2015 06:45 AM, Steven Williams wrote:
    > On 04/30/2015 03:54 AM, Sjoerdk wrote:
    >>
    >> I'm having a strange problem using the RIS.war REST services. I've
    >> configured the RIS.war and essentially the implementation is working:
    >>
    >> A GET call to http://userappserver.domain.com:8180/RIS/identities
    >> returns a list of users with attributes:
    >>
    >> (copied one entry of the entire list)
    >>
    >>
    >> Code:
    >> --------------------
    >>
    >> {
    >> "Managers": [],
    >> "Groups": [],
    >> "Links": [
    >> {
    >> "Link":
    >> "/RIS/wf/workitems?filter=Addressee=cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
    >>
    >> "Type": "wf/workitems",
    >> "Value": "Workflow Workitems"
    >> }
    >> ],
    >> "GUID": "8679b04e984e064bdaa68679b04e984e",
    >> "Link": "/RIS/identities/8679b04e984e064bdaa68679b04e984e",
    >> "DN": "cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
    >> "FirstName": [
    >> "Some"
    >> ],
    >> "LastName": [
    >> "Name"
    >> ],
    >> <omitted photo tag>
    >> "Title": [],
    >> "TelephoneNumber": [],
    >> "Department": [],
    >> "Location": [],
    >> "Email": []
    >> }
    >>
    >> --------------------
    >>
    >>
    >> This seems correct but the strange thing is, is that the TelephoneNumber
    >> and Email attributes stay empty even if they are populated with values
    >> in eDir.
    >>
    >> However:
    >> Using a GET to get the Email address attribute works like a charm.
    >>
    >> http://tinyurl.com/nx3rawf
    >>
    >>
    >> Code:
    >> --------------------
    >>
    >> {
    >> "GUID": "8679b04e984e064bdaa68679b04e984e",
    >> "DN": "cn=abcd1234,ou=Active,ou=Identities,ou=Internal,o=Company",
    >> "Link": "/RIS/identities/8679b04e984e064bdaa68679b04e984e",
    >> "Email": [
    >> "some-mail@maildomain.com"
    >> ]
    >> }
    >>
    >> --------------------
    >>
    >>
    >> Does anybody know why the identities list does not display the Email
    >> Address while the specific query does return a value ?
    >>
    >> A second question: according to the documentation, the following URL
    >> should display all user attributes configured in the DAL:
    >>
    >> http://tinyurl.com/obn3qqt
    >>
    >> But this returns an error:
    >>
    >>
    >> Code:
    >> --------------------
    >>
    >> {
    >> "Code": {
    >> "Value": "Sender",
    >> "Subcode": {
    >> "Value": "InvalidUri"
    >> }
    >> },
    >> "Reason": {
    >> "Text": "Not found"
    >> }
    >> }
    >>
    >> --------------------
    >>
    >>
    >> Userapp is on patch E (including the RIS.war). Any ideas on both
    >> problems ?
    >>
    >>

    > Greetings,
    >
    > Your question number #1 is working as designed. The generic an identity
    > will only return a few attributes. It will not return email or
    > telephone. You have to ask for those attributes specifically.
    >
    > As for your second question I will look.
    >

    Greetings,
    I have tested with the latest patch of 4.0.2 and it is working correctly

    1) My URL is similar to:

    http://myserver.com:8180/RIS/identities/c8a464fc197e7d414b99c8a464fc197e

    2) Make sure the Entry in the RIS.war has the full DNS of where UserApp is


    We had a similar bug that was fixed in Patch "D"
    Bug 785952 - REST: Requesting details of a specific Resource fails with
    error

    But that was for a Resource and not for an Identity.


    3) Do you experience this issue for all Users or just certain ones?



    --

    Sincerely,
    Steven Williams
    Lead Software Engineer
    NetIQ

  • This is my web.xml from the RIS.war


    Code:
    --------------------

    <init-param>
    <param-name>USER_APP_URL</param-name>
    <param-value>server.infra.company.com:8180/.../param-value>
    </init-param>

    --------------------


    So this should work. When i do a query for all identities:

    http://server.infra.company.com:8180/RIS/identities

    i get valid results (snippet below).


    Code:
    --------------------

    "GUID": "66716392b9c8b044f3a466716392b9c8",
    "Link": "/RIS/identities/66716392b9c8b044f3a466716392b9c8",
    "DN": "cn=name,ou=Active,ou=Identities,ou=Internal,o=company",
    "FirstName": [
    "somename"
    ],
    "LastName": [
    "somesurname"

    --------------------


    If i then create a call with this specific GUID:

    http://tinyurl.com/qxbm7eu

    the error occurs:


    Code:
    --------------------

    {
    "Code": {
    "Value": "Sender",
    "Subcode": {
    "Value": "InvalidUri"
    }
    },
    "Reason": {
    "Text": "Not found"
    }
    }

    --------------------


    Call is done using the Userapp Administrator to be sure I have enough
    rights.
    I've deployed the same config to one of our QA environments and the same
    behavior occurs.
    This occurs for all identities (well, i did not test 100 identities, but
    a random selection of 10 out of 100 had this problem in both
    environments).


    --
    Sjoerdk
    ------------------------------------------------------------------------
    Sjoerdk's Profile: https://forums.netiq.com/member.php?userid=1135
    View this thread: https://forums.netiq.com/showthread.php?t=53415