DirectoryManager API query (ES2)

In my workflow I have two User tasks, 'Sanction' and 'Validate', which are performed by members of the 'Risk Assessors' group.  Business logic dictates that the user who performs the 'Sanction' task may NOT perform the 'Validate' task.  My implementation assigns the 'Sanction' task to the 'Risk Assessors' group, captures the TaskResult to identify the individual who performed the task, and then uses a custom component to select an appropriate assignee for the 'Validate' task (i.e. picks a random member of 'Risk Assessors', but not the member who performed 'Sanction').
In the custom component, I use the DirectoryManagerServiceClient class to retrieve the set of individual Group members.  Once I have this, it is a simple task to disregard the 'Sanction' user and pick a random user from the remainder.
My problem occurs when attempting to assign this randomly selected user to the 'Validate' task.  I see the following error in the logs:
2009-12-11 13:59:16,327 ERROR [com.adobe.workflow.AWS] stalling action-instance: 739 with message: Assign using an XPath expression was specified with the following expression: /process_data/assignee, but this expression did not evaluate to a datatype that the user service supports.  Supported types are 'String', 'com.adobe.idp.dsc.um.lookup.datamodel.User', and 'com.adobe.idp.dsc.um.lookup.datamodel.Group'
The user I return from the custom component is of type com.adobe.idp.um.api.infomodel.User - this is the User type exposed by DirectoryManagerServiceClient.  Is there any way for me to map this to an instance of  com.adobe.idp.dsc.um.lookup.datamodel.User?  The class expected by 'Assign Task' isn't present in the ES2 Javadoc.
I imagine that there would be some way for me to extract the user name from my User instance, and pass that to 'Assign Task', but i'm genuinely curious about how this is supposed to work.  I think the poster of this thread http://forums.adobe.com/message/2217711 was driving at the same thing.
-- Craig

Thanks Scott,
I had already implemented your solution as a quick fix.  It's pretty unsatisfactory that the DirectoryService returns User and Group objects that are incompatible with 'Assign task', but there appears to be nothing I can do to remedy that, given that the 'correct' types aren't part of the SDK.
Cheers,
Craig

Similar Messages

  • Sap api query

    Hi everybody,
    Can anyone explain me what is  sap api query?
    Please help.
    Thanks
    Sonali

    Hi,
    I dont think there is any thing specific like "SAP API Query" but there are some Java APIs (Application Programming Interfaces) from SAP that will be used in SAP-PI while working with Java mappings,Dynamic configurations,Adapter module developments.Etc.,please me lwt me know if i understood your query wrong.
    for those APIs refer the following thread.
    http://help.sap.com/javadocs/NW04S/current/pi/index.html
    Thanks,
    Ram.

  • REST API Query for file Versions - current version

    Hi,
    I have referred to the list of API query options from this link:
    https://msdn.microsoft.com/en-us/library/office/dn450841.aspx .
    As described in the post, the query  goes as below
    url: "<app web url>/_api/SP.AppContextSite(@target)/web
        /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
        ?@target='<host web url>'",
    This does not return the current file version details. Is there a way to get those details in the same query or should we place another query to get the current version file details as below
    url: "<app web url>/_api/SP.AppContextSite(@target)/web
        /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    Thanks,
    Meena

    Hi Meena,
    In FileVersion endpoint, it will only return the old versions of a file.
    If you want to retrieve all versions(including) of a file, there will be a need to run another request for the current version only, though which might cause extra workload.
    Thanks
    Patrick Liang
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • UCS XML API Query Problem

    Currently I am attempting to power up and down a blade that is un-attached to a profile using a UCS XML API Query.
    Current progress:
    I have come up with this query that will power down a blade from a call from an attached profile...
    <configConfMo cookie="<SomeCookie>" inHierarchical="false">
    <inConfig>
    <lsPower dn="org-root/ls-profile1/power" state="down" status="modified"/>
    </inConfig>
    </configConfMo>
    This works for a server that is attached to a profile <profile1>, but I want to power down a server that is un-attached. I am currently using  UCS emulator 2.2 for testing these querys.

    There are a few options here that occur to me:
    Go to either the web interface of one of your UCSMs or the emulator with something like:
       http:///visore.html  or https:///visore.html
    traverse the objects or search for what you want and follow the '?' link to the right of the Class name.
    You could also try to find what you need here: http://www.cisco.com/en/US/docs/unified_computing/ucs/sw/api/VScgIX.html

  • Howto handle persistence API query result list

    Hello.
    I need some advice on how to handle a persistence API query result List since the Object variable returned by the "list.get(i)" method cannot be cast to an EntityClass declared by the EntityClassManager.
    The piece of code below might help you understand my exact problem.
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("SporTakipPU");
    EntityManager em = (EntityManager) emf.createEntityManager();
    Query q1 = em.createQuery( "SELECT d.id, d.date, c.name, c.sirname FROM Log d, Kisi c WHERE d.id = :id AND c.id = :id" );
    q1.setParameter( "id", argument );
    List logList = q1.getResultList();
    Log log = (Log) logList.get(1);
    In this code i cannot cast Object to Log in the last line. Apparently this has something to do with the query.
    Trying to solve this problem i declared two private string variables name and sirname and their set and get methods but this didn't help.
    Thanks...

    Entity Class : ReportView
    ===================
    @Entity
    @Table(name = "dummy")
    public class ReportView implements Serializable {
    @Id
    @Column(name = "id", nullable = false)
    private Integer id;
    // getter , setter
    SessionBean : ReportSessionBean
    ==========================
    public List<ReportView> getReports() {
    Query q = em.createNativeQuery("SELECT ID FROM REPORT", ReportView.class);
    List<ReportView> r=(List<ReportView>)q.getResultList();
    return r;
    JSF / Back Bean : ReportBackBean
    ==========================
    public class ReportBackBean {
    @EJB
    private ReportSessionRemote reportSessionBean;
    /** Creates a new instance of ReportBackBean */
    public ReportBackBean() {
    public List<ReportView> getReports() {
    return reportSessionBean.getReports();
    JSF
    ===
    <f:view>
    <h:dataTable value="#{ReportBackBean.reports}" var="report" border="1">
    <h:column>
    <h:outputText value="#{report.id}"/>
    </h:column>
    </h:dataTable>
    </f:view>
    Regards,
    Telman
    ..

  • Filter Criteria with where condition in graph api query

    Hi
    Filter criteria in  graph api is  working fine  through this api
    https://graph.windows.net/adummydirectory.onmicrosoft.com/users?$filter=displayName eq 'Ashok'&api-version=1.5
    Select criteria is also working fine through this api
    https://graph.windows.net/ adummydirectory.onmicrosoft.com/users?api-version=1.5&deltaLink=&$select=displayName,accountEnabled
    But when I am combining both query that means, I want that select criteria should also apply with filter clause like
    https://graph.windows.net/adummydirectory.onmicrosoft.com/users?$filter=displayName
    eq 'Ashok'&api-version=1.5&deltaLink=&$select=displayName,accountEnabled
    But its generating error
        "odata.error": {
            "code": "Request_UnsupportedQuery",
            "message": {
                "lang": "en",
                "value": "Unsupported expression node type 'Equal' for Where expression."
    So please suggest how we can use select clause with filter criteria. our requirement is that we don’t need all attributes .we want selected attributes for filtered users.

    Greetings!
    The differential query syntax does not allow for a filter other than $filter=isof(<directory entry type>).  You are not able to use any other query string for this type of query.  Please see the following MSDN link for details:
    http://msdn.microsoft.com/en-us/library/azure/jj836245.aspx
    I will need to do a bit more research to see if it is possible to request specific attributes for an object query and post back to this thread when I have a response.
    Regards,
    MaxV ( MSFT )

  • Abap MDM API query with OR operation

    Hi experts,
    not sure this is the proper section for the thread, anyway; dealing with ABAP MDM API, is there a way to build up a query which involves several clause in OR conjunction?
    This is the scenario: I've got to extract several items on the basis of exact product codes. Tipically, I've got huge vectors of hundreds of product codes; actually, I could easily retrieve data by looping over them and, for each code, perform a query on MDM via QUERY method building the clause as follows:
          ls_query-parameter_code  = 'MDMSRM_PART_NO'. "Field code
           ls_query-operator        = 'EQ'.   "Contains
           ls_query-dimension_type  = mdmif_search_dim_field.      "Fieldsearch
           ls_query-constraint_type = mdmif_search_constr_text.    "Text search 
           lv_text = wa_codes-product_code.
           GET REFERENCE OF lv_text INTO ls_query-value_low.
           APPEND ls_query TO lt_query.
    This will however result in hundreds of query in the LOOP itself.
    Is there any way to build a query with OR operators ?
    Thanks,
    M.

    Hi,
    I see you are not clearing your local structure "ls_query".  This could be reason of problem,  try this and let us know the result:
    DATA lt_query                  TYPE mdm_query_table.
    DATA ls_query                 TYPE mdm_query.
    DATA lv_search_text       TYPE string.
    DATA lt_result_set            TYPE mdm_search_result_table.
    DATA ls_result_set           LIKE LINE OF lt_result_set.
    Fill query structure with FIRST parameter
        ls_query-parameter_code  = 'Name'.
        ls_query-operator        = 'CS'. 
        ls_query-dimension_type  = mdmif_search_dim_field.    
        ls_query-constraint_type = mdmif_search_constr_text.
        lv_search_text = 'BMW'.
        GET REFERENCE OF lv_search_text INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
    CLEAR ls_query.
    Fill query structure with SECOND parameter
        ls_query-parameter_code  = 'Model'.
        ls_query-operator        = 'CS'. 
        ls_query-dimension_type  = mdmif_search_dim_field.    
        ls_query-constraint_type = mdmif_search_constr_text.
        lv_search_text = '2009'.
        GET REFERENCE OF lv_search_text INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
    CLEAR ls_query.
    Query on records (search for value 'BMW' model '2009' in table Products)
        CALL METHOD lr_api->mo_core_service->query
          EXPORTING
            iv_object_type_code = 'Products'                  
            it_query            = lt_query
          IMPORTING
            et_result_set       = lt_result_set.

  • PeopleCode :: Query API :: Query Expression collection problems

    Hi all,
    I'm trying to use the Query API in PeopleCode to tack on an expression to the end of an existing query. Thus far I have been successful doing just a QueryField without any problems. Here is some example code of what I have done with the Query Expression collection and where I am stuck:
    &Criteria = &MainQrySel.AddCriteria("criteria1");
    &Criteria.Logical = %Query_CombAnd;
    &Criteria.Expr1Type = %Query_Expression;
    &crit = &Criteria.AddExpr1Expression();
    &Criteria.Expr1Expression = &crit;
    &crit.Text = -some expression-;
    &Criteria.Operator = %Query_CondEqual;
    &Criteria.Expr2Type = %Query_ExprConstant;
    &crit = &Criteria.AddExpr2Expression();
    &Criteria.Expr2Expression1 = &crit;
    &crit.Text = -some criteria-;
    So what's happening is that the left hand part of the expression is added to the entire statement along with the operator (the equals sign). The odd part is that the right hand part of the expression is not (basically the -some criteria- part).
    If anyone has any ideas on how to solve this mystery, please let me know...I'm rather confuzzled!
    Thanks in advance!

    Well, I finally discovered he solution on my own, by reverse-engineering Oracle's own search.jsp (which does not use Oracle's custom tag library, btw) (probably because same doesn't really work, or at least it doesn't what's in the documentation doesn't work) (which isn't surprising).
    You have to do the "From" part of the query as an "attribute filter".
    oracle.ultrasearch.query.Query searchQuery=
    new oracle.ultrasearch.query.Contains(searchString, metadata);
    oracle.ultrasearch.query.Query attrQuery=
    new oracle.ultrasearch.query.From(metadata.getGroup(groupToSearch));
    oracle.ultrasearch.query.Request searchRequest=new oracle.ultrasearch.query.Request();
    searchRequest.setQuery(searchQuery);
    searchRequest.setFilter (attrQuery);
    Maybe that will do somebody some good somewhere...
    Troy

  • REST API: Query for object based on name instead of objectId

    Please correct me if I'm wrong...
    Right now I have to query anything and everything by the objectId. The issue is that I don't know what that is. I know the name. So, for example, If I know the objectId of an edge device named "myrouter" is "edge-1", then I can do:
         https://nsxmgr/api/4.0/edges/edge-1
    Awesome! Now I get the entire config. But let's say I don't know the edgeId. Because why would I? I would, however, know its name because that's why I name things. In many other API's all I would have to do is something like this:
         https://nsxmgr/api/4.0/edges?name=myrouter
    The only way I know of to do this today is to fetch ALL of the edges with the following:
         https://nsxmgr/api/4.0/edges
    This returns every single edge in the scope! Then I have to do something like (in powershell):
         $router_exist = (Select-Xml -Xml $script:edges -XPath "//edgeSummary[name=`"$esr_name`"]").Node
         if ($router_exist) {
              $router_id = $router_exist.objectId
    This isn't just for edges...its for every object available. Is it not possible to query based on an attribute?
    Thanks,
    Daniel

    Thanks for the replies :-)
    However my issue is that it gets loaded in a wrong format.
    In our System OU Name is shown as "COMPUTERS"; "DK"; "123dom" - Instead of 123dom/DK/Computers.
    We cannot make collections quering for OU name with this format in SCCM 2012. Has anyone seen this issue before? The forest was discovered using AD Forest+System+User discovery.

  • BPEL Client API - Query Domain for Number of Active Threads ?

    Hi,
    Is there a method to query the number of active threads within the domain ? i.e. the same value displayed under Thread Allocation Activity shown on http://localhost/BPELConsole/default/domain.jsp?mode=thread
    I've browsed the API docs but can't find a way to do this... I might have missed something thought.
    Cheers,
    Rob

    Thanks Marc.
    How would I go about getting a domain handle ? The bit I'm stuck on in obtaining the initial authenticated connection to the server. The ngThreadInfo code does this:
    Server server = ServletUtils.getServer( request, response );
    String token = server.getServerAuth().getToken();
    and I guess the request/response vars provide the security context in which the getServerAuth operates ?
    Which API functions can I embed in a BPEL process to connect to the server and subsequently obtain the domain handle ?
    Cheers,
    Rob J.

  • MDM ABAP API: Query with Multiple Parameters

    I would like to query MDM repository passing multiple parameters. I used the following code, however, it didn't work.
    If I pass only one parameter, it works fine.
    DATA lt_query                  TYPE mdm_query_table.
    DATA ls_query                 TYPE mdm_query.
    DATA lv_search_text       TYPE string.
    DATA lt_result_set            TYPE mdm_search_result_table.
    DATA ls_result_set           LIKE LINE OF lt_result_set.
    * Fill query structure with FIRST parameter
        ls_query-parameter_code  = 'Name'.
        ls_query-operator        = 'CS'. 
        ls_query-dimension_type  = mdmif_search_dim_field.    
        ls_query-constraint_type = mdmif_search_constr_text.
        lv_search_text = 'BMW'.
        GET REFERENCE OF lv_search_text INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
    * Fill query structure with SECOND parameter
        ls_query-parameter_code  = 'Model'.
        ls_query-operator        = 'CS'. 
        ls_query-dimension_type  = mdmif_search_dim_field.    
        ls_query-constraint_type = mdmif_search_constr_text.
        lv_search_text = '2009'.
        GET REFERENCE OF lv_search_text INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
    * Query on records (search for value 'BMW' model '2009' in table Products)
        CALL METHOD lr_api->mo_core_service->query
          EXPORTING
            iv_object_type_code = 'Products'                  
            it_query            = lt_query
          IMPORTING
            et_result_set       = lt_result_set.

    Hi,
    I see you are not clearing your local structure "ls_query".  This could be reason of problem,  try this and let us know the result:
    DATA lt_query                  TYPE mdm_query_table.
    DATA ls_query                 TYPE mdm_query.
    DATA lv_search_text       TYPE string.
    DATA lt_result_set            TYPE mdm_search_result_table.
    DATA ls_result_set           LIKE LINE OF lt_result_set.
    Fill query structure with FIRST parameter
        ls_query-parameter_code  = 'Name'.
        ls_query-operator        = 'CS'. 
        ls_query-dimension_type  = mdmif_search_dim_field.    
        ls_query-constraint_type = mdmif_search_constr_text.
        lv_search_text = 'BMW'.
        GET REFERENCE OF lv_search_text INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
    CLEAR ls_query.
    Fill query structure with SECOND parameter
        ls_query-parameter_code  = 'Model'.
        ls_query-operator        = 'CS'. 
        ls_query-dimension_type  = mdmif_search_dim_field.    
        ls_query-constraint_type = mdmif_search_constr_text.
        lv_search_text = '2009'.
        GET REFERENCE OF lv_search_text INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
    CLEAR ls_query.
    Query on records (search for value 'BMW' model '2009' in table Products)
        CALL METHOD lr_api->mo_core_service->query
          EXPORTING
            iv_object_type_code = 'Products'                  
            it_query            = lt_query
          IMPORTING
            et_result_set       = lt_result_set.

  • MDM ABAP API query to pass the date range

    Hi
    I want to retrieve certain data from MDM repository based on filter criteria by date stamp.
    Not sure how to do it to pass the select option value in the query.
    select-options: s_cdate for sy-datum obligatory .
    DATA  wa_query     TYPE mdm_query.
    DATA: v_search_date1    TYPE MDM_CDT_DATE_TIME.
    data: v_datestamplow1   type string.
    data: v_datestamplow    type TZNTSTMPL.
    concatenate s_cdate-low '000000' into v_datestamplow1
    v_datestamplow  = v_datestamplow1.
    clear wa_query.
        wa_query-parameter_code = 'Changed_On '.             "Field code ( Field name )
        wa_query-operator = 'EQ'.
        wa_query-dimension_type = mdmif_search_dim_field.    "Field search
        wa_query-constraint_type = MDMIF_SEARCH_CONSTR_DATE. "Date  serach
    I am able to get the data when I just pass the low value from selecct option.  But I dont how  to pass the date range.
       v_search_date1-CONTENT = v_datestamplow.
        ET REFERENCE OF v_search_date1 INTO wa_query-value_low.
        APPEND wa_query TO gt_query.
      CALL METHOD cl_api->mo_core_service->query
          EXPORTING
            iv_object_type_code = 'Vendors'
            it_query            = gt_query
          IMPORTING
            et_result_set       = gt_result.
    II could see the below operator types . Although EQ says "Like standard select-options parameter" not sure how to pass the value.
    EQ     Equal to (like standard select-options parameter)
    NE     Not equal to (like standard select-options parameter)
    LT     Less than (like standard select-options parameter)
    LE     Less than or equal to (like standard s-o parameter)
    GT     Greater than (like standard select-options parameter)
    GE     Greater than or equal to (like standard s-o parameter
    SW     Starts with (MDM specific parameter)
    Thanks,
    Krishna.

    Hi,
    To get the date range for select options, pass the low value with 'GE' operator and another query option with 'LE' operator for high value.
    select-options: s_cdate for sy-datum obligatory .
    DATA wa_query TYPE mdm_query.
    DATA: v_search_date1 TYPE MDM_CDT_DATE_TIME.
    data: v_datestamplow1 type string.
    data: v_datestamplow type TZNTSTMPL.
    concatenate s_cdate-low '000000' into v_datestamplow1
    v_datestamplow = v_datestamplow1.
    clear wa_query.
    wa_query-parameter_code = 'Changed_On '. "Field code ( Field name )
    wa_query-operator = 'GE'.
    wa_query-dimension_type = mdmif_search_dim_field. "Field search
    wa_query-constraint_type = MDMIF_SEARCH_CONSTR_DATE. "Date serach
    GET REFERENCE OF v_search_date1 INTO wa_query-value_low.
    APPEND wa_query TO gt_query.
    concatenate s_cdate-high '235959' into v_datestamphigh1
    v_search_date2 = v_datestamphigh1.
    clear wa_query.
    wa_query-parameter_code = 'Changed_On '. "Field code ( Field name )
    wa_query-operator = 'LE'.
    wa_query-dimension_type = mdmif_search_dim_field. "Field search
    wa_query-constraint_type = MDMIF_SEARCH_CONSTR_DATE. "Date serach
    GET REFERENCE OF v_search_date2 INTO wa_query-value_low.
    APPEND wa_query TO gt_query.
    CALL METHOD cl_api->mo_core_service->query
    EXPORTING
    iv_object_type_code = 'Vendors'
    it_query = gt_query
    IMPORTING
    et_result_set = gt_result.
    Thanks.

  • Java api query

    new to java - here goes a silly queston - how can i access the source documentation of particular api classes or methods?
    for example ...
    how "lastIndexOf(Object o)" of ArrayList is actually implemented, or how a particular search method has been coded ...
    Cheers in advance, Mike

    if you want to look at the actual code then you need to download the sdk, and look in src.zip

  • Using REST API: Query search box to return list items

    Hey,
    My goal is to create a search box which returns the items (matching to the name) from a list.
    Bonus: The return would happen without requiring user to click a
    Search button or such.
    To achieve this I assume the SharePoint 2013's REST API should be used. I'm completely inexperienced in using the REST API so all kind of suggestions are available.

    Hi,
    Here are some articles about SharePoint 2013 REST API for your reference:
    Get started with the SharePoint 2013 REST service
    http://msdn.microsoft.com/en-us/library/office/fp142380(v=office.15).aspx
    How to: Complete basic operations using SharePoint 2013 REST endpoints
    http://msdn.microsoft.com/en-us/library/office/jj164022.aspx
    SharePoint 2013 – CRUD on List Items Using REST Services & jQuery
    http://www.plusconsulting.com/blog/2013/05/crud-on-list-items-using-rest-services-jquery/
    Working with SharePoint list data - OData, REST and JavaScript
    http://blogs.technet.com/b/fromthefield/archive/2013/09/05/working-with-sharepoint-list-data-odata-rest-and-javascript.aspx
    Best regards
    Dennis Guo
    TechNet Community Support

  • ITunes API & querying lists of artists

    I'm trying to build an interface similar to the iPod's, where you can group by artist, album, genre, etc. I can't seem to find any existing method in the SDK for doing this. I'm starting to suspect I'm gonna have to do this by querying the library XML file with some twisted XPath. Are there any other options?

    Yeah, you're probably going to have to use the XML file.
    Good luck....you seem to have a sense of 'twisted Xpath' humor...welsome to these boards!

Maybe you are looking for

  • How can I get the printed message of stored procedure in JPA

    Hi, I'm using JPA to invoke stored procedure in database, a segment of the sproc is like below: if @create_type != 'a1' and @create_type != 'a'      begin      print 'create type must be either ''a1'' if you pass in A1 ID, or ''a'' if you pass in Use

  • List of file SQL*Loader

    GoodMorning, i have one question of Sql*Loader! Exist one list of extension file that Sql*Loader support? I try with .dat .txt .csv .xml and this extesion is ok. Can i load another type of file?? Thanks Have a nice day

  • Re: A problem with local variables, need help.

    I don't actually get any error with the code when compiling,I know. You get it when running. The error is that it doesn't behave like you want. What I was looking for was "at such and such line, I expected this variable to have this value, but it was

  • FrameM 7.1: Doesn't start anymore, Internal Error 7104, 6062898, 7693379, 0

    Windows XP: I terminated FM correctly and shut down the computer. The next morning and since then always, FM will start until showing the error message and close the start-up. Neither using a former System recovery (Systemwiederherstellung) nor de-in

  • AAC in Purchase Requisition

    Hi All, We are facing one issue, while creating Purchase Requisition. We are creating Material Requisition, while creating the same system prompts for Account assignment Category for every Material irrespective of Material type we are using. This one