$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: false, vro: false, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
avatar image
Former Member

Weird issue with HANA XS SAML SSO and Odata service

We recently updated to SAP HANA 2.0 SPS01 and we have a weird issue with HANA XS SAML SSO and Odata service after the update. We use ADFS as the IDP for our SAML. Here is a brief of the issue.

1) Accessing url "https://<server>:<port>/OData_Services/<odata_name>/services.xsodata/Organizations?$filter=indexof(tolower(ORGNAME),'town') ge 0&$top=50" will show error “No cookie with target path found in request” which suggests that SAML Token is not passed. There is nothing in the indexserver or xsserver logs to suggest an issue though.

2) Accessing url "https://<server>:<port>/OData_Services/<odata_name>/services.xsodata" which is the same as the url in ITEM 1 without filters works and user is authenticated. After getting authenticated, trying the url in ITEM 1 will work without issues.

3) Open a new session and access url "https://<server>:<port>/OData_Services/<odata_name>/services.xsodata/Organizations?$filter=ORGNAME%20eq%20%27AB%20Transportation%27". This is also the same as in ITEM 1 but with a filter EQ. This works without issues as well and user is authenticated. After getting authenticated, trying the url in ITEM 1 will work without issues.

The thing is the application consuming the data needs to have a filter that is not exact as users will use that application to query data. Also, as it works after getting authenticated from another url, this is very weird.

Tried with SAP but no dice as they seem to not know why this is happening. Does anyone have an idea as to where to check or how to fix it?

Any ideas or leads are more than welcome as I'm now on my wits end with this issue.

Thanks a lot.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Aug 07, 2017 at 03:42 AM

    Hi Lutz,

    Apologies for the late reply. Anyway, SAP has come back on this and verified that this is an issue related to the temp fix we had before for a bug (using parameter ce2qo_disable_unfolding). After update to the newer patch, the patch should have taken care of the bug so the temp fix before should be turned off. After doing that, it worked without issues.

    Regards,

    Robert

    Add comment
    10|10000 characters needed characters exceeded

  • May 12, 2017 at 01:58 PM

    Hi Robert, just a quick guess:

    Did you already try to properly urlencode your filter parameter? Your query string violates standards.

    Instead of

    https://<server>:<port>/OData_Services/<odata_name>/services.xsodata/Organizations?$filter=indexof(tolower(ORGNAME),'town') ge 0&$top=50

    try

    https://<server>:<port>/OData_Services/<odata_name>/services.xsodata/Organizations?$filter=indexof%28tolower%28ORGNAME%29%2C%27town%27%29%20ge%200&$top=50

    Some HANA software component might stumble over ( or ' or spaces.

    Cheers, Lutz

    Add comment
    10|10000 characters needed characters exceeded