Directory ID in DirectorySession.create  in OBPM 10GR3

What is the Directory ID in DirectorySession.create(id,participant,password)
Creates a DirectorySession to a Directory different than the one using at runtime. You have to indicate the Directory ID and the participant/password.

Hi,
in my case, I am trying to configure the OBPM directory using ALUI and its native LDAP service.
Now, I found that the first name and the last name in BPM are retrieved from the ALUI display name : provided we enter the display name in the format %first name% + %last name% we get them into BPM. But the display name is not always in this format...
In addition, it's the portal telephone number information which is retrieved into BPM Telephone and Fax numbers.
And, the email adress remains blank
I have installed the latest patch for OBPM (Version: 10.3.1.0.0 Build: #97172)
Would you have any documentation about creating a Profile Web Service in ALUI and specifying which LDAP attributes to map to which ALUI properties in the Profile Source ?
Thanks !
Edited by: vVince on May 6, 2009 3:46 PM

Similar Messages

  • Problem while Introspecting a Web-Service in OBPM 10GR3 studio

    I get the following problem while Introspecting a Web-Service in OBPM 10GR3 studio:-
    Introspecting...
    downloading /test-ws/testc?wsdl [Error] Instrospection exception: Web Service WSDL parse exception: HTTPS hostname wrong: should be <test-01.test.net>...
    Any idea why?
    It runs well in a browser, eclipse and SOAP UI?

    have you create the destination?
    do  you use the wizard to generate code?
    usually there is catch clause for this line of code
    wdContext.currentRequest_SERVICE_MDM_LOOKUPElement().modelObject().execute();
    Edited by: John Wu on Dec 16, 2010 11:51 PM

  • JSP Timeout in OBPM 10GR3

    Hi all,
    My JSP in OBPM 10GR3 is getting timed out quickly. How can I increase the timeout of my JSP?
    Because it shows on the UI workspace that "The task cannot be resumed".
    How can I increase the timeout of my JSP?

    There is probably one more reason why this may be happening. Again, I don't have a running 10g instance to verify this, but may be you can. Once a user clicks on the work item (or left menu in the case of a Global Create) in the inbox, and the dialog opens up, if you do a browser refresh, the popup will close, but probably , behind the scene, the screen-flow is not closed. Now , if you click on your global create again, you may get a Task cannot be resumed.
    Not sure, but try this, and the only way around may be to tell users not to refresh the screen when the popup is up, if they do and get a 'Task cannot be resumed' , they will have to log out and log back in.

  • JSP problems in OBPM 10GR3

    Hi all,
    When I try to access a JSP from my Global creation in OBPM 10GR3, sometimes this message appears:-
    [<W> 0830 15:19:41.296] Main (<5> [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'): Error workspace-1314782980927
    [     (cont)     ] Main: The Task cannot be resumed
    [     (cont)     ] Main: Detail:<br>The reason could be one of the following<br><ol> <li>You have already finished the task execution</li> <li>You have the autologin option enabled and the session for this execution has expired .<br></li></ol>
    [     (cont)     ] Main:
    [     (cont)     ] Main: fuego.web.exception.ItemAlreadyExecutedException: The Task cannot be resumed
    [     (cont)     ] Main: Detail:<br>The reason could be one of the following<br><ol> <li>You have already finished the task execution</li> <li>You have the autologin option enabled and the session for this execution has expired .<br></li></ol>
    [     (cont)     ] Main:
    [     (cont)     ] Main: at fuego.web.papi.TaskExecutor.processRedirect(TaskExecutor.java:213)
    [     (cont)     ] Main: at fuego.web.papi.TaskExecutor.execute(TaskExecutor.java:104)
    [     (cont)     ] Main: at fuego.workspace.servlet.ExecutorServlet.doAction(ExecutorServlet.java:117)
    [     (cont)     ] Main: at fuego.workspace.servlet.BaseServlet.doPost(BaseServlet.java:229)
    [     (cont)     ] Main: at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    [     (cont)     ] Main: at fuego.workspace.servlet.AuthenticatedServlet.service(AuthenticatedServlet.java:123)
    [     (cont)     ] Main: at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    [     (cont)     ] Main: at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    [     (cont)     ] Main: at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    [     (cont)     ] Main: at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    [     (cont)     ] Main: at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    [     (cont)     ] Main: at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    [     (cont)     ] Main: at fuego.web.filter.NoCacheNoStoreFilter.doFilter(NoCacheNoStoreFilter.java:39)
    [     (cont)     ] Main: at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
    [     (cont)     ] Main: at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    [     (cont)     ] Main: at fuego.web.filter.SingleThreadPerSessionFilter.doFilter(SingleThreadPerSessionFilter.java:64)
    [     (cont)     ] Main: at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
    [     (cont)     ] Main: at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    [     (cont)     ] Main: at fuego.web.filter.CharsetFilter.doFilter(CharsetFilter.java:48)
    [     (cont)     ] Main: at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
    [     (cont)     ] Main: at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    [     (cont)     ] Main: at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
    Any idea why?

    There is probably one more reason why this may be happening. Again, I don't have a running 10g instance to verify this, but may be you can. Once a user clicks on the work item (or left menu in the case of a Global Create) in the inbox, and the dialog opens up, if you do a browser refresh, the popup will close, but probably , behind the scene, the screen-flow is not closed. Now , if you click on your global create again, you may get a Task cannot be resumed.
    Not sure, but try this, and the only way around may be to tell users not to refresh the screen when the popup is up, if they do and get a 'Task cannot be resumed' , they will have to log out and log back in.

  • Text File opened in Wordpad cannot be parsed on OBPM 10GR3

    Hi all,
    Text File opened in Wordpad cannot be parsed on OBPM 10GR3
    Why is that?
    I use the following code to parse a file:-
    textFile = TextFile();
    textFile.open(name : "C:\testFile.txt");
    logMessage("---Does file exist?--> " + textFile.exists);
    foreach (line in textFile.lines) {
    logMessage("-- The LINE is-->" + line);
    pinBlockProcessing.linesCount = pinBlockProcessing.linesCount + 1;
    pinBlockProcessing.deviceIdentifierArray[] = line;
    textFile.close();

    Hi all,
    I also used other two methods to parse such a file which can be opened in Wordpad but not in Notepad.
    1) I used Java.Util.Scanner
    2) I also created and compiled a program/package/class which gets a file and parses it using Java.Util.Scanner using Java in Eclipse.
    I created a JAR out of it and tried to use this JAR in my process by introspecting it and then passing the file to be parsed to the methods in this JAR file.
    But this did not work either. Although the program does work in plain Java in Eclipse. It compiles and parses a a file which can be opened in Wordpad but not in Notepad.
    My program for both these methods was :-
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;
    public class Test{
    public static void main(String args[]) throws IOException {
    FileReader fin = new FileReader("./testFile.txt");
    Scanner src = new Scanner(fin);
    src.useDelimiter("\n");
    while (src.hasNext()) {
    System.out.println(src.next());
    fin.close();
    This does not work either.
    All programs and methods work when a text file can be opened in NotePad.
    What could be possible solution in OBPM 10GR3?
    It is something to do with Carriage Return and generating a file in UNIX which when opened in Notepad shows one straight horizontal line and when opened in Wordpad shows vertical lines.

  • Aborting an Automatic Activity from OBPM 10GR3 workspace

    Hi all,
    I can abort Interactive Activities from the OBPM 10GR3 workspace just by selecting that instance, the selecting the action as ABORT from the BULK ACTIONS on the right hand side and the entire instance is aborted.
    But how do I abort Automatic Activities from the OBPM 10GR3 workspace?
    When my instance arrives at an automatic activity, I am unable to abort it from the BPM workspace.
    There is no option when you right click an Automatic Activity and select RUNTIME , which says, "If enabled, the instance can be aborted by the user".
    So how do we do that ( from the OBPM 10GR3 Workspace)?

    The "If enabled, the instance can be aborted by the user" needs to be selected when you abort via PAPI...
    Since aotumatic activitys do not appear in the workspace you cannot abort them from there.
    You can connect via PAPI, find the instance and abort it from another instance.
    Even though must automatic activitys are built so they finish before you can even go and abort them.
    I think its a strange design to have an aotumatic activity that is up long enough for you to cancel it but as i said above...
    1) Select abortable on the activity.
    2) Find the instance and abort
    Fuego.Papi.InstanceFilter ifilter = new InstanceFilter();
    ProcessService.connectTo(url : Fuego.Server.directoryURL, user :<username>, password : <password>);
    ifilter.create(processService : ProcessService);
    ifilter.searchScope = new SearchScope(participantScope : ParticipantScope.ALL , statusScope : StatusScope.ONLY_INPROCESS);
    //Notice i write public variable and not instance variable
    ifilter.addAttributeTo(variable : <public variable (such as description or one of your own)>, comparator : Comparison.<the one that fits you>, value : <value>);
    Fuego.Papi.Instance[] cInstances = ProcessService.getInstancesByFilter(filter : ifilter);
    foreach (instance in cInstances)
    //Second type of filtering (checking current activity and process), you can check just the activity name if its a unique name
    if (instance.activityName == <aotumatic activity name> && instance.processId.contains(regexp : '/<process name>/'))
    instance.abort();
    I use a similer code snippet to remove Interactive activities.
    Just notice that you filter only the instances you really want to take down.

  • Internet Explorer CLOSE Button for OBPM 10GR3 Presentations

    Hi all,
    I am using OBPM 10GR3 presentations with a POPUP window.
    I already have a close button to close the presentation. This is a Global Interactive Activity which displays the dashboards.
    The Global Interactive Activity contains a screenflow and inside the screenflow I have a Interactive Component Call to call the presentation.
    Now the presentation opens smoothly and everything is displayed.. When we hit the CLOSE button everything goes away and when we open it again it again comes back to the previous Interactive Component Call and restarts.
    BUT
    When we Close the window itself instead of using the CLOSE button of the presentations, and we re-open, we get the previous data.
    This is because we do not hit the CLOSE button of the presentation instead hit the IE WINDOW CLOSE button on the top right hand corner besides the minimize maximize button.
    Therefore the call is still inside the screenflow inside the Global Interactive Activity and therefore it waits for the user to hit the CLOSE button of the presentations otherwise does not close.
    How can we resolve this issue?
    How can we make sure, that if the user closes the IE WINDOW itself using the CLOSE button, it closes the presentation itself and when re-opened displays the previous presentation?

    Hi,
    First of all this is a training issue with the user. It is not advisable not to press the close button of the IE.
    Nevertheles you can disable to close button of the presentaion.
    You can remove the x from dialogs by doing this. Open the executionDialog.xhtml file in the <OraBPMEnterpriseHomeDirectory>\webapps\workspace\jsf\common directory (both Studio and Enterprise have this file).
    Change the text on line 81 from this:
    <oc:Dialog verticalAlign="top" offsetY="40" backColor="#D4E1EB" borderColor="#517B9E"
    borderStyle="solid" borderWidth="1px" id="executionDialog#{componentBean.id}"
    title="#{fn:getMsg('EXECUTION')}" broadcastName="executionDialog#{componentBean.id}"
    maximized="#{componentBean.executionDialogMaximized}" width="#{componentBean.executionDialogWidth}"
    height="#{componentBean.executionDialogHeight}" titleBarCssClass="bpmWorkspaceDialogHeader"
    displayMaximizeButton="true"
    modal="false" jsObjectName="executionDialog#{componentBean.id}">
    to this:
    <oc:Dialog verticalAlign="top" offsetY="0" backColor="#FFFFFF" borderColor="#FFFFFF"
    borderStyle="solid" borderWidth="1px" id="executionDialog#{componentBean.id}"
    title="#{fn:getMsg('EXECUTION')}" broadcastName="executionDialog#{componentBean.id}"
    maximized="#{componentBean.executionDialogMaximized}" width="#{componentBean.executionDialogWidth}"
    height="#{componentBean.executionDialogHeight}" titleBarCssClass="bpmWorkspaceDialogHeader"
    displayMaximizeButton="true"
    displayCloseButton="false" modal="false" jsObjectName="executionDialog#{componentBean.id}">
    This change does a couple things. The addition of the text "displayCloseButton="false"" removes the x button that is causing the undesired results you're getting and setting the colors to #FFFFFF changes the light blue border around dialog boxes to white.
    Bibhu

  • Error while deploying a project to the OBPM 10GR3 Server

    Hi all,
    I am trying to deploy my current project to the OBPM 10GR3 server and it gives me the following exception. I am not sure what is this exception.
    The project compiles well in Studio 10GR3.
    Cannot publish the project.
    'close' is not a function. Caused by: 'close' is not a function.
    Does anybody know what is the exception?

    Got it..
    I was using Fuego.Sql.DynamicSQL.close(Iterator)
    For a an executeUpdate query which returns an int.
    But I used it in a method and did not use that method inside my process or screenflow.
    But it did not give me any error/exception while compiling it in Studio.
    It gave me an exception while publishing in Enterprise.
    This is strange.
    It should have given me an error/exception while compiling itself rather than while publishing in Enterprise.

  • Return value for Direct OBPM SQL Query in OBPM 10GR3

    Hi all,
    I use a direct SQL Query provided by OBPM 10GR3 in my automatic activity to select certain elements from the db. The query is as follows:-
    foreach (element in
    SELECT id FROM TESTTABLE WHERE requestId = 732 and status = 1 )
    // statements
    logMessage("-- The id is-->" +element.id);
    This only returns when the id is found in the db but returns nothing when not found in db?
    How can I always get a return value? atleast a true or false, so that I can put IF statements?
    Because if it returns nothing, the loop does not execute {}? So we cannot put something like:-
    foreach (element in
    SELECT id FROM TESTTABLE WHERE requestId = 732 and status = 1 )
    logMessage("-- The id is-->" +element.id);
    if(element.id == null)
    logMessage("-- Id Not Found -->" );
    else
    logMessage("-- Id Found -->");
    How can I always get a return value from my OBPM direct query ?
    Remember , I am not using DynamicSQL in this case?

    Hi,
    Set a Boolean flag value to False before the SQL query.
    Some thing like:
    boolean flag = false;
    foreach (element in
    SELECT id FROM TESTTABLE WHERE requestId = 732 and status = 1 )
    logMessage("-- The id is-->" +element.id);
    flag = true;
    if(flag) {
    logMessage("-- Id Found -->" );
    else
    logMessage("-- Id Not Found -->");
    Hope the above logic would work fine.
    Bibhu
    Edited by: Bibhuti Bhusan on Sep 2, 2011 11:48 AM

  • Using Assoc Arrays in OBPM 10GR3 for 25 million comparisons

    Can we use Associative arrays in OBPM 10GR3 to do 25 million comparisons or even more than that?
    I have two assoc arrays which I compare with each other 25 million times by looping them one inside the other.
    For e.g.
    for(int i = 0; i < 5000; i++)
    for(j=0; j < 5000; j++)
    if(i==j)
    logMessage ("The value is equal");
    when I try to do that, I get an error:-
    Persistence Data error.
    I get this error:-
    Error while persisting the transaction data: 'An error occurred while accesing the database. Detail:SQL statement: 'unknown' ' Details: An error occurred while accesing the database. Detail:SQL statement: 'unknown' Caused by: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 302 seconds BEA1-25BFB4A4F3934EFC9C00 at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1418) at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1330) at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189) at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64) at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:92) at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:482) at fuego.jdbc.FaultTolerantConnection.prepareStatement(FaultTolerantConnection.java:541) at fuego.server.persistence.jdbc.JdbcServerActivityPersMgr.insertInstanceEvent(JdbcServerActivityPersMgr.java:913) at fuego.server.persistence.Persistence.storeInstanceEvent(Persistence.java:944) at fuego.server.execution.EngineExecutionContext.persistEvents
    So can we use such a big comparison on OBPM 10GR3. If yes, how?

    Don't use ASSOC Arrays. Use SETs.
    Also increase the JTA timeout in Weblogic to like say 600 seconds.

  • View Items in OBPM 10GR3

    Does anybody know how to bring the last initiated process instance to be seen first in the worklist views in OBPM 10GR3?
    By default, the last initiated worklist item is posted at the end and one has to scroll down all the way to the last initiated item.
    How can we bring that to the front?

    Enter in the Workspace Administrator, go to the presentations option, take the presentation associated to your inbox, typically default_instances take the column "received" and put to sort by this column choosing descending.
    HTH

  • How to install a plugin in OBPM 10GR3

    How do we install a plugin in OBPM 10GR3. Any steps that you guys know of?
    I want to install a plugin which actually needs to be installed for eclipse but since OBPM 10GR3 is built on top of eclipse, I think I can install it in OBPM 10GR3..
    Please guide through the process.?

    BPM Studio (10g) is just a plugin for eclipse. To install other plugins, just use the Help - Software Updates - Find and Install
    HTH,
    -Kevin

  • [OBPM 10gR3]How to configer a hybrid directory with Oracle LDAP Server

    Hey, guys,
    Does anyone have experience on configering a hybrid directory with Oracle LDAP Server? How to config the mapping conf file for Oracle LDAP in the directory of \OraBPMwlHome\conf?
    Here is my conf file. But I got some LDAP mapping errors. It's really weird OBPM doesn't support Oracle's self LDAP, at least it does not provide the conf file.
    -----------errors------------
    Exception [javax.naming.OperationNotSupportedException: [LDAP: error code 53 - Function Not Implemented]; remaining name '']. Reason: [LDAP: error code 53 - Function Not Implemented] fuego.directory.DirectoryRuntimeException: Exception [javax.naming.OperationNotSupportedException: [LDAP: error code 53 - Function Not Implemented]; remaining name '']. at fuego.directory.DirectoryRuntimeException.wrapException(DirectoryRuntimeException.java:85) at fuego.directory.hybrid.ldap.JNDIQueryExecutor.select(JNDIQueryExecutor.java:203) at fuego.directory.hybrid.ldap.JNDIQueryExecutor.selectAllFromView(JNDIQueryExecutor.java:84) at fuego.directory.hybrid.ldap.JNDIQueryExecutor.selectAllFromView(JNDIQueryExecutor.java:64) at fuego.directory.hybrid.ldap.Repository.selectAllFromView(Repository.java:54) at fuego.directory.hybrid.ldap.LDAPPollingEventGenerator.buildCurrentProxies(LDAPPollingEventGenerator.java:98) at fuego.directory.provider.notifiers.BasePollingEventGenerator.generateEvents(BasePollingEventGenerator.java:41) at fuego.directory.hybrid.HybridMultipleEventGenerator.generateEvents(HybridMultipleEventGenerator.java:43) at fuego.directory.provider.notifiers.DirectoryNotifier.notifyChanges(DirectoryNotifier.java:403) at fuego.server.service.DirectoryListener.updateEngineFromDirectoryImpl(DirectoryListener.java:309) at fuego.server.service.DirectoryListener$DirectoryPollingItem.execute(DirectoryListener.java:351) at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304) at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470) at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551) at fuego.transaction.TransactionAction.start(TransactionAction.java:212) at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123) at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:62) at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42) at fuego.ejbengine.ejb.EngineStartupBean.executeItem(EngineStartupBean.java:192) at fuego.ejbengine.ejb.EngineStartupBean.updateFromDirectory(EngineStartupBean.java:172) at fuego.ejbengine.ejb.engine_startup_bpmengine_wodkyx_ELOImpl.updateFromDirectory(engine_startup_bpmengine_wodkyx_ELOImpl.java:365) at fuego.ejbengine.servlet.SchedulerServlet$DirectoryPollingTask.runImpl(SchedulerServlet.java:269) at fuego.ejbengine.servlet.SchedulerServlet$ScheduledTask.run(SchedulerServlet.java:208) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: javax.naming.OperationNotSupportedException: [LDAP: error code 53 - Function Not Implemented]; remaining name '' at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3078) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2951) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2758) at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1812) at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1735) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321) at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248) at fuego.jndi.FaultTolerantDirContext.search(FaultTolerantDirContext.java:867) at fuego.directory.hybrid.ldap.JNDIQueryExecutor.select(JNDIQueryExecutor.java:190) ... 23 more
    -----------mapping conf file for Oracle LDAP---------
    <?xml version="1.0" encoding="UTF-8"?>
    <?fuego version="6.1 ALPHA" application="albpmenterprise"?>
    <!-- This file contains the propper attribute mapping for the FDI Generic Ldap Provider using Oracle Directory Service.          
    * Preference for group object
              <preference id="assignedParticipants.containsId" value="true"/>
              This preference is useful to speed up the provider and it can only be used if the assignedParticipant value is the dn of the user and the dn contains the participant id
              <preference id="assignedParticipants.containsId" value="true"/>
              This preference is useful to speed up the provider and it can only be used if the assignedGroup value is the dn of the group and the dn contains the group id
              <preference id="modifyTimeStamp.suffix" value="Z"/>
              This preference is useful when the suffix mofidyTimeStamp format of your ldap is not .OZ.
    -->
    <config>
         <object id="person">
              <object-filter>
                   <![CDATA[
                        (objectclass=inetOrgPerson)
                   ]]>
              </object-filter>
              <relative-dn>
                   <!-- the relative dn for person -->
              </relative-dn>
              <attribute id="id" value="uid"/>
              <attribute id="lastName" value="sn"/>
              <attribute id="firstName" value="givenname"/>
              <attribute id="accountLock" value="orclIsEnabled">
                   <attribute-comparator operation="EQUALS" compareTo="ENABLED"/>
                   <filter>
                        <![CDATA[
                             ($accountLock=ENABLED)
                        ]]>
                   </filter>
              </attribute>
              <attribute id="facsimileTelephoneNumber" value="facsimileTelephoneNumber"/>
              <attribute id="displayName" value="displayName"/>
              <attribute id="mail" value="mail"/>
              <attribute id="telephoneNumber" value="telephoneNumber"/>
              <attribute id="employeeId" value="employeeNumber"/>
              <attribute id="thumbnailPhoto" value="jpegPhoto"/>
              <attribute id="manager" value="manager"/>
              <attribute id="modifyTimeStamp" value="modifytimestamp"/>
         </object>
         <object id="group">
              <object-filter>
                   <![CDATA[
                        (objectclass=orclGroup)
                   ]]>
              </object-filter>
              <relative-dn>
                   <!-- the relative dn for group -->
    </relative-dn>
              <attribute id="id" value="dn"/>
              <attribute id="modifyTimeStamp" value="modifytimestamp"/>
              <attribute id="displayName" value="displayName"/>
              <attribute id="name" value="cn"/>
              <attribute id="description" value="description"/>
              <attribute id="assignedParticipants" value="uniquemember"/>
              <!--attribute id="assignedGroups" value="memberOf"/-->
              <attribute id="ou" value="uniquemember"/>
         </object>
         <object id="ou">
              <object-filter>
                   <![CDATA[
                        (objectclass=domain)
                   ]]>
              </object-filter>
              <relative-dn>
                   <!-- the relative dn for ous -->
    </relative-dn>
              <attribute id="name" value="orclsubscriberfullname"/>
              <attribute id="description" value="description"/>
         </object>
    </config>
    Edited by: Lemonice on 2009-3-30 上午2:08
    Edited by: Lemonice on 2009-3-30 下午7:01
    Edited by: Lemonice on 2009-3-30 下午8:43

    Hi,
    in my case, I am trying to configure the OBPM directory using ALUI and its native LDAP service.
    Now, I found that the first name and the last name in BPM are retrieved from the ALUI display name : provided we enter the display name in the format %first name% + %last name% we get them into BPM. But the display name is not always in this format...
    In addition, it's the portal telephone number information which is retrieved into BPM Telephone and Fax numbers.
    And, the email adress remains blank
    I have installed the latest patch for OBPM (Version: 10.3.1.0.0 Build: #97172)
    Would you have any documentation about creating a Profile Web Service in ALUI and specifying which LDAP attributes to map to which ALUI properties in the Profile Source ?
    Thanks !
    Edited by: vVince on May 6, 2009 3:46 PM

  • OBPM 10gR3 Dynamic Role Assignment at user login

    Hi,
    For all the great integration with LDAP in 10gR3, unfortunately, the system is unable to deal with dynamically-defined LDAP groups.
    Our goal is to apply a BPM Role to ALL humans defined in our LDAP.
    All humans happen to already be defined by a dynamically-defined LDAP group called 'AllPeople'.
    It would have been perfect if we could simply assign our BPM Role, 'Employee', to the LDAP group, 'AllPeople'. Sadly you can't (one for the next release pls).
    So as a workaround, what we want to do instead is assign the BPM Role 'Employee' to each individual user dynamically when they first login.
    Since the FDI library is useless outside of a BPM context (you'll find that some of the familiar methods of RoleAssignment are missing), We opted to create an actual BPM process to conduct role assignments, and we would then trigger it via PAPI.
    The question then was, where/when do we invoke the process such that it does the role assignment quickly and soon enough for the appropriate views and applications to appear in their workspace straight after login?
    We opted for a customised implementation of the SSOWorkspaceLoginInterface class.
    However, we tried making the invocation in the setupAuthenticatedSession() and the processRequest() methods but, although the role assignment was successfully done in either case, sadly the user's session was loaded without the new changes - perhaps loaded quicker than the role assignment could be fed back through the directory.
    Therefore, we dumped the invocation in the actual constuctor - and this seems to work for the most part. Yet on the odd ocassion, the role assignment is not quick enough to be realised in the user's workspace session - the user has to logout and back in before the changes are realised.
    We've even tried to get the execution to sleep for a second or two, while the PAPI thread goes about doing the role assignment - again not much success.
    So I really have 2 questions:
    1. Where during login can we make a PAPI call to do a role assignment so that it should be picked up by the time the session is created? perhaps we already are doing it in the right place.
    2. How could we refresh/request a new session cookie without explicitly logging out and back in again? Note, page refresh is not enough.
    Thanks for reading.

    Sorry for the belated response - I don't get notified of replies.
    The code for my custom SSOLoginModule class is:-
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Properties;
    import fuego.workspace.security.SSOWorkspaceLoginInterface;
    import fuego.papi.Arguments;
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.OperationException;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    import fuego.sso.SSOLoginException;
    import fuego.sso.SSOUserLogin;
    import fuego.jsfcomponents.Util;
    import fuego.workspace.model.common.WorkspaceApplicationBean;
    public class CustomSSOWorkspaceLogin extends SSOUserLogin implements SSOWorkspaceLoginInterface {
    private ProcessService pService;
    private ProcessServiceSession pServiceSession;
    private Properties properties;
    public SSOWorkspaceDBLogin() {
    //Do the role assignment here because it works, and does not work in the ideal location of setupAuthenticatedSession method
    pService = createProcessService();
    pServiceSession = createProcessServiceSession();
    assignDefaultRole(Util.getHttpServletRequest().getRemoteUser());
    private ProcessService createProcessService() {
    return WorkspaceApplicationBean.getCurrent().getProcessService();
    private ProcessServiceSession createProcessServiceSession() {
    return pService.createSession("yourdirectoryusername","yourdirectorypassword",null);
    //This method is used to remotely invoke a BPM process to do the role assignment - no external API to do this directly!
    private void assignDefaultRole(String email) {
    try {
    String processId = "myRoleAssignmentProcessId";
    String argumentName = "argumentName"; //the name of the input argument to feed in the participant
    String argumentValue = email;
    Arguments arguments = Arguments.create();
    arguments.putArgument(argumentName, argumentValue);
    InstanceInfo instance = pServiceSession.processCreateInstance(processId, arguments);
    Long waitTime = new Long(1000);
    Long timeLimit = new Long(5000);
    boolean roleAssigned = false;
    boolean timeLimitExceeded = false;
    Long startTime = System.currentTimeMillis();
    //Allow role assignment thread to complete
    while (!roleAssigned && !timeLimitExceeded) {
    try {
    Thread.sleep(waitTime);
    if (pServiceSession.processGetInstance(instance.getId()).isCompleted()) {
    roleAssigned = true;
    if (System.currentTimeMillis() - startTime > timeLimit) {
    timeLimitExceeded = true;
    } catch (InterruptedException e) {
    e.printStackTrace();
    //close process service session
    pServiceSession.close();
    //Do not close the service itself as it is shared with the Workspace itself!
    //pService.close();
    } catch (Exception e) {
    e.printStackTrace();
    public void setupAuthenticatedSession(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws SSOLoginException {
    //Unfortunately, the below does not work here because the role assignment is not fast enough
    //The result is that the user logs in but cannot see any applications because the role assignment has not been made in time.
    //Therefore, we run the below statements from the constructor - ugly but functions.
    //pService = createProcessService();
    //pServiceSession = createProcessServiceSession();
    //assignDefaultRole(httpservletrequest.getRemoteUser());
    public void processRequest(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws SSOLoginException {
    }

  • New open directory account doesn't create mail account

    Hi All
         I have a Mac Mini with lion server, Fresh out of the box i messed with it a few times to learn and then i did a clean (internet) install and started with the settings i wanted (hostname, etc) with no mistakes. (It seems Lion doesn't like applhying most changes)
    When i set it up i created one local admin user that won't be in the open directory.
    Anyway, I've set up the following :
    * Address Book
    * File Sharing
    * iCal
    * Mail
    * Profile Manager
    * and VPN
    The first open directory user i added was myself and that user managed to get assigned an email account.
    Susiquent users i've added have not been registered with the mail subsystem.
    I've checked this using the "Server Admin" additional download management tool. (Mail service on the left, Maintenance up the top and then accounts uder that)
    There is only one mail account and thats the first one i've added.
    I havn't played with the settings so other than switching things on it should "just work" but it doesn't.
    I've prevously setup vmail servers using mysql to store the accounts with postfix and courioer imap but that was in some ways simpler as nothing was under the covers. I havn't dug too much into the dovecot config files, etc as i believe there is an all knowing server configuration engine at work here that isn't doing its job (which i havn't dug into)
    Has anyone had this issue of the mail accounts not being created?
    Or can anyone point me to a fix?

    It seems to have something to do with profile manager.
    I get stack traces in the "system messages" logs for the "Server" application, grrrr.
    I'll get that info and attempt to submit a but report tonight.

Maybe you are looking for

  • Mountain Lion(Safari): Page scroll doesn't work!

    I noticed that the page scroll effect does not work in safari browser on the mac. See this Adobe Muse site of the day: http://lcbarmy.com/photos.html#top

  • Hi I have thousands of 'no name' contacts

    Hi In my address book when I open 'all contacts', I have thousands of 'no name' contacts which I am presuming, looking at the contents of them, that they are notes from all of my contacts. Do I have to have all of them on display as it is a pain to h

  • How do i download my iphone photos

    I'm using windows 7 and don't know how to download my iphone photos to my computer

  • Operation Aborted Error in IE

    Hello Everyone, I'm getting the following error when I add a .swf file to my web site. The error only happens in IE. Internet Explorer can not open the site http://charitystudentinvestmentproject.com Operation Aborted Screen shot of the error Any ide

  • IPhoto keeps on crashing, cannot use it

    I have a big library (10000 pics). i could re-import my library, and carefully try to build smart list. Then, once I try to re-open IPhoto, no matter what happen, Iphoto will crash even before it opens. Any idea ?