Implement Screenflow using PAPI in Custom GUI

Hi
We are trying to implement our custon GUI (.NET) using the PAPI api , we are able to retrieve the Views /Presentations / Inbox and other view instances . However I want some suggestions regarding how to implement the Screen flows /Process Work Items in the custom GUI using the PAPI call . Is there any API's which are already available to do these .
I see that the API has options like runActivity etc within the session , am I on the right track (however I am unclear how to achieve the screenflow in API mode)
Thanks

Probably is not what you want but have you consider implement the interactive activities as external and build them in .NET?.
I think there are other threads in this forum and product documentation that explain how you implement an interactive activity as external but let you explain in few words.
1.- You create an external resource of type server configuration where you will have your .NET external application. The engine when executing this activity is going to redirect yo to that url adding the user, the activity id and the instance id.
2.- You implement the interactive activity as external, main task external.
3.- In the bottom part you put the url already defined in step 1.
4.- You define a prepare method. This is the method that you have to execute once the execution has been redirected to your .NET external application, you have the instanceid and then you can perform the prepare with PAPIWS. With the prepare you interchange information with the engine, you can define out arguments that you take in your application and also the engine blocks that instance to prevent other user execute the same activity to the same instance. Once yo have the control of the execution in your external application you can show the process data in your .NET client, modify it...
5.- You define a commit method, this is the method that you have to invoke, again with PAPIWS from your external application once you have finished the activity (the activity can be a .NET screenflow in your case). Performing the commit method you pass information back to the engine and the engine unblocks the instance execution.
I think that if you want to have the interactives built in .NET this is the recommended approach.
HTH

Similar Messages

  • Double Role for Analysis Authorization using Variable via Customer Exit

    Hi Guys I have been implementing AA using variable via customer exit and I have run into this problem, I wonder anyone have encountered this.
    Example I have a User having 2 sets of authorization Roles
    Role 1
    Personnel Area = A, B
    Personnel Sub Area = 1,
    Role 2
    Personnel Area = A
    Personnel Sub Area = 1, 2
    And what we can derive this that is the user is able to see A-1 B-1 and A-2 BUT NOT B-2 when we run all.
    But instate when we run the report it is drawing B-2 as well as because we are entering
    Personnel Area = A,B
    Personnel Sub area = 1,2
    Any idea how to solve this?
    <removed by moderator>
    Edited by: Siegfried Szameitat on Dec 3, 2008 2:41 PM

    Hello Chee Jason,
    Are you working with version 3.5 or 7.0
    How do you specify Hierarchy variable?
    Any advise you can share is very much appreciated.
    Thanks,
    Patrick

  • Custom GUI problem

    hi guys i have made my own gui by extending it as JComponent and drawing its look by painting using the method paintComponent()
    my problem is i wanted to somewhat change the look of the component if it has been click just like a JButton gives you a feel of like it is being push. what i did is i implemented a mouselistener to do the change but the main frame to which this component is attach also has a mouselistener, the problem here is i think the JComponent i made is on focus so it only reacts on that mouselistener and not to the mouselistener of the main frame.
    what i wanted to happen here is i want both mouselistener to be executed when the mouse is click or you could give me a better idea of doing the component effects.
    class CustomGUI extends JComponent implements MouseListener {
        //paintComponent goes here
        //the mouse listener goes here to paint the GUI effects if it has been click
    class MainFrame extends JFrame implements MouseListener {
        //add an instance of CustomGUI
        //mouselistener here
    }

    blackcoder41 wrote:
    ok the custom GUI (JComponent) paintComponent() method has two options, either to paint its normal appearance or its clicked appearance.. when the custom GUI (JComponent) mouselistener clicked is called all a want to do is make a boolean true to signal that it is press then call the repaint() so its shows the clicked appearance then set the boolean again to false when release.
    the main frame actual creates instances of the custom gui in a 2d array then displays it in the main frame (the frame is field with Jcomponent)... the mouselistener is use to determin the index of the component that is click then do something about it.
    actually my application is already working except that when the component is clicked it does not even animate or show that like it was clicked.
    hope that make senseAre the MouseListeners on the CustomGUIs working correctly? Add some print statements to them to be sure.
    Better yet, come up with an [SSCCE |http://sscce.org] that shows us your problem.

  • Customer gui components needed?

    I require to build a program with which allows the user to add representations of objects onto the main GUI by adding a seperate square for each object. each square should be capable of being moved, resized, deleted as well as have text displayed in it, and another object associated with it (but I'm currently just dealing with the GUI side of things). Each square will also need to be connected to others by means of an arrow from one square to another. Any suggestions as to where to start as there does not seem to be any appropriate widgets provided by java for this and I am having trouble finding stuff on the net about it. Will creating my own custom GUI components be the best option? If so any tips on how to do this?
    Regards

    Hello Ravi,
    Create a Variable for 0CALMONTH, and use this code,
    ' Declare this in the top
    data : v_startmon(6) type n,
    v_endmon(6) type n,
    ' Include this in the case statement
    when 'VarName'.
    ' Step 2 will execute after the user Input
    if i_step = 2.
    v_year = sy-datum(4).
    v_mon = sy-datum+4(2) - 1.
    ' If the month is Jan
    IF v_mon = '00'.
    CONCATENATE v_year '01' INTO v_startmon.
    CONCATENATE v_year '01' INTO v_endmon.
    ELSE.
    CONCATENATE v_year '01' INTO v_startmon.
    CONCATENATE v_year v_mon INTO v_endmon.
    EndIF.
    clear l_s_range.
    l_s_range-low = v_startmon.
    l_s_range-high = v_endmon.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'BT'.
    append l_s_range to e_t_range.
    Endif.
    Please see this for
    [User Exits in SAP BW|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/23f2f094-0501-0010-b29b-c5605dbdaa45]
    [User Exit Examples|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6378ef94-0501-0010-19a5-972687ddc9ef]
    Also see this
    [Dependencies for Variables of Type Customer Exit |http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/content.htm]
    Thanks
    Chandran
    Edited by: Chandran Ganesan on Mar 17, 2008 1:57 PM

  • Using nullLayout for custom component

    I am writing an AccordianPanel as a custom component that can be dropped into a JPanel and behave as expected. I am using a null layout in the outer container (JPanel) as the accordian dividers need to move as told and not be managed by a layout manager. When I resize a window or another container that the custom component sits in, it doesn't resize anything - I understand this is the behavior I would expect as that is how I coded it.
    Now, I want to have the custom component resize its internal stuff when the container it resides in (i.e. JFrame or most likely another JPanel) gets moved, but I don't know how to do this. The outer most component in my custom components hierarchy is a JPanel whose layout is set to null and I stuff everything else inside there.
    I believe I need to add a componentListener to my JPanel whose layout is set to null, but I am not sure. Could someone send me in the right direction.
    thanks

    the best approach might be to implement your own LayoutManager (which is simple enough) and use it rather than absolute positioning....
    If you read postings in the forum you will find most people recommend using LayoutManagers and not a null layout so you don't have problems like this.Hello sarcommand , camickr, and anyone interested,
    I've tried to bring this discussion up again just a few days ago, and was disappointed I got no feedback - must be a dull read :o(
    Here is the [link to the thread|http://forums.sun.com/thread.jspa?messageID=10723670&#10723670], would you mind having an eye on it?
    I'm sorry to hijack this thread (seems slightly less rude than bumping my own former thread up), but I've read several discussions on this subject too, and still I can't decide whether I should follow the CustomLayoutmanager track.
    Although most of the writing there is specific to my current problem, it highlights 3 points I think are general enough:
    - A custom layout (whatever the way it is implemented, I discuss 4 approaches in the thread) is generally used to display custom components, or at least, components that represent custom application-specific entities or input points. -> Is is worth the trouble to abstract the positioning logic when this "custom layout" has only one, at best two, use cases (a couple of specific screens in your specific app that represents your specific entities)?
    - A custom (app-specific) layout manager is likely to require more knowledge about the things being layed out than the default min/max/pref sizes. In particular it may require to know data of the underlying model objects represented by the children components. How is that best designed? I tentatively think it's by way of custom Constraint classes which have to be abstract enough yet should be easily mapped from the app-specific data.
    - The CustomLayoutManager integrates natively with regular graphical events (hiding, resizing,...), but how to integrate app-specific events (such as, when the underlying data change in such a way that should be reflected by a change in the layout, how/when to force the re-layout)?
    Thank you for your help.

  • Query on rendering the Human Tasks in the customized GUI application.

    Hi All,
    In oracle11g BPEL, Is there any way to render the Human Tasks in the Customized GUI (Weblogic Portal) application rather that using the applications like "Oracle BPM WorkList"?. Does the Oracle11g BPEL supports this ?. My requirement is that, i need to render the Human tasks inside my own GUI application. I do not want to allow the end user of my application to use the other GUI applications like Work List to wotk up on the human tasks. Instead of this, User must be able to access and work up on the BPEL human tasks through my Customized GUI (Weblogic Portal) application. Is there any way in Oracle11g BPEL to achieve the required functionality?.
    Edited by: user538948 on Sep 2, 2012 11:03 PM
    Edited by: user538948 on Sep 5, 2012 2:04 AM

    Hi Naga
    http://docs.oracle.com/cd/E14571_01/apirefs.1111/e10660/toc.htm
    1. I would not recommend using APIs unless and otherwise if you do not have any other option. You can always create the TaskForms in your own custom pages using out of box generated bindings for each .TASK file. This gives more flexibility. There are lots of stuff associated with a Task apart from your own custom payload like full Task details, system attributes, headers, history, comments/attachments etc. You do not want to use APIs to get all these.
    The below 2 links should give you an overview of overall architecture of a Workflow and TaskForms.
    Re: Integrating BPM taskflows into an ADF application
    Re: deploying a large Oracle BPM Application with multiple UI projects
    Re: What exactly 'PAYLOAD' Means???
    Once you have basics covered, refer oracle docs also that shows how to reuse a single project.
    Thanks
    Ravi Jegga

  • How to notify a Notification Wait activity using PAPI

    I am trying to use Papi code to release an instance waiting in the notification wait activity of a process deployed in the enterprise server .... for this I am running the papi code from main method of a java class running in eclipse using the notify.send(........) method ........but when the code hits the notify.send(.......) method it is giving the following error :
    Exception in thread "main" java.lang.IllegalStateException: The component must be invoked on a server-side method.
         at fuego.components.ProcessInstance.getCurrent(ProcessInstance.java:590)
         at fuego.components.Notification.send(Notification.java:229)
         at PapiCode.main(PapiCode.java:61
    Can someone point out the error and how to resolve it ??

    Hi,
    I am a little confused with the package name of the classes and components you are invoking. If you are using the Client API PAPI, then the package name should be fuego.papi.*.
    I think you are using the internal components that should be used within a process implementation that assume running in the context of the Engine instead of a pure client application.
    Unless I am interpreting this incorrectly, you should use a client Java Application using PAPI to connect to a deployed process into an OBPM Engine.
    I would recommend you take a look at the very good introduction document that talks about PAPI, explains how to compile a program and also talks about how to write your first PAPI program client. It will also outline all the needed jar files need to include from a client application perspective. The link is: http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/papi/index.html.
    You may alternatively like to check the main Oracle BPM 10gR3 Documentation page through this link: http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/index.html
    HTH,
    eduardoc.

  • Strange behavior in JTable using JFileChooser as custom editor

    I have an application that I am working on that uses a JFileChooser (customized to select images) as a custom editor for a JTable. The filechooser correctly comes up when I click (single click) on a cell in the table. I can use the filechooser to select an image. When I click on the OPEN button on the filechooser, the cell then displays the editor class name.
    I have added prints to the editor methods and have determined that editing is stopped before the JTable adds the listener. I have looked at the code and have searched doc for examples but have not found what I am doing wrong. Can anyone help?
    I configured the table editor as follows:
    //Set up the editor for the Image cells.
    private void setUpPictureEditor(JTable table) {
    table.setDefaultEditor(String.class, new PictureChooser());
    Below is the code for the JTable editor that I am using:
    package com.board;
    import java.io.*;
    import java.util.Vector;
    import java.util.EventObject;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.JFileChooser;
    import javax.swing.JPanel;
    import javax.swing.table.TableCellEditor;
    import javax.swing.event.CellEditorListener;
    import javax.swing.event.ChangeEvent;
    public class PictureChooser extends JLabel implements TableCellEditor
    boolean DEBUG = true;
    int line=0;
    static private String newline = "\n";
    protected boolean editing;
    protected Vector listeners;
    protected File originalFile;
    protected JFileChooser fc = new JFileChooser("c:\\java\\jpg");
    protected File newFile;
    public PictureChooser()
    super("PictureChooser");
    if (DEBUG)
         System.out.println(++line + "-PictureChooser constructor");
         listeners = new Vector();
         fc.addChoosableFileFilter(new ImageFilter());
         fc.setFileView(new ImageFileView());
         fc.setAccessory(new ImagePreview(fc));
    private void setValue(File file)
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.setValue method");
         newFile = file;
    public Component getTableCellEditorComponent(JTable table,
                                  Object value,
                                  boolean isSelected,
                                  int row,
                                  int col)
    if (DEBUG)
         System.out.println(line + "-PictureChooser.getTableCellEditorComponent row:" + row + " col:" + col + " method");
         fc.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                   String cmd = e.getActionCommand();
                   System.out.println(++line + "-JFileChooser.actionListener cmd:" +
                                       cmd);
                   if (JFileChooser.APPROVE_SELECTION.equals(cmd))
                        stopCellEditing();
                   else
                        cancelCellEditing();
         //editing = true;
         //fc.setVisible(true);
         //fc.showOpenDialog(this);
         int returnVal = fc.showOpenDialog(this);
         if (returnVal == JFileChooser.APPROVE_OPTION)
         newFile = fc.getSelectedFile();
         table.setRowSelectionInterval(row,row);
         table.setColumnSelectionInterval(col,col);
         return this;
    // cell editor methods
    public void cancelCellEditing()
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.cancelCellEditing method");
         fireEditingCanceled();
         editing = false;
         fc.setVisible(false);
    public Object getCellEditorValue()
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.getCellEditorValue method");
         return new ImageIcon(newFile.toString());
    public boolean isCellEditable(EventObject eo)
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.isCellEditable method");
         return true;
    public boolean shouldSelectCell(EventObject eo)
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.shouldSelectCell method");
         return true;
    public boolean stopCellEditing()
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.stopCellEditing method");
         fireEditingStopped();
         editing = false;
         fc.setVisible(false);
         return true;
    public void addCellEditorListener(CellEditorListener cel)
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.addCellEditorListener method");
         listeners.addElement(cel);
    public void removeCellEditorListener(CellEditorListener cel)
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.removeCellEditorListener method");
         listeners.removeElement(cel);
    public void fireEditingCanceled()
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.fireEditingCanceled method");
         setValue(originalFile);
         ChangeEvent ce = new ChangeEvent(this);
         for (int i=listeners.size()-1; i>=0; i--)
         ((CellEditorListener)listeners.elementAt(i)).editingCanceled(ce);
    public void fireEditingStopped()
    if (DEBUG)
         System.out.println(++line + "-PictureChooser.fireEditingStopped method");
         ChangeEvent ce = new ChangeEvent(this);
         for (int i=listeners.size()-1; i>=0; i--)
    System.out.println(++line + "-PictureChooser listener " + i);
         ((CellEditorListener)listeners.elementAt(i)).editingStopped(ce);

    try this code. it work fine.
    regards,
    pratap
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.table.*;
    import java.io.*;
    public class TableDialogEditDemo extends JFrame {
         public TableDialogEditDemo() {
              super("TableDialogEditDemo");
              MyTableModel myModel = new MyTableModel();
              JTable table = new JTable(myModel);
              table.setPreferredScrollableViewportSize(new Dimension(500, 70));
              //Create the scroll pane and add the table to it.
              JScrollPane scrollPane = new JScrollPane(table);
              //Set up renderer and editor for the Favorite Color column.
              setUpColorRenderer(table);
              setUpColorEditor(table);
              //Add the scroll pane to this window.
              getContentPane().add(scrollPane, BorderLayout.CENTER);
              addWindowListener(new WindowAdapter() {
                   public void windowClosing(WindowEvent e) {
                        System.exit(0);
         private void setUpColorRenderer(JTable table) {
              table.setDefaultRenderer(File.class, new PictureRenderer(true));
         //Set up the editor for the Color cells.
         private void setUpColorEditor(JTable table) {
              table.setDefaultEditor(File.class, new PictureChooser());
         class PictureRenderer extends JLabel     implements TableCellRenderer {
              Border unselectedBorder = null;
              Border selectedBorder = null;
              boolean isBordered = true;
              public PictureRenderer(boolean isBordered) {
                   super();
                   this.isBordered = isBordered;
                   setOpaque(false);
                   setHorizontalAlignment(SwingConstants.CENTER);
              public Component getTableCellRendererComponent(
                                            JTable table, Object value,
                                            boolean isSelected, boolean hasFocus,
                                            int row, int column) {
                   File f = (File)value;
                   try {
                        setIcon(new ImageIcon(f.toURL()));
                   catch (Exception e) {
                   e.printStackTrace();
                   return this;
         class MyTableModel extends AbstractTableModel {
              final String[] columnNames = {"First Name",
                                                 "Favorite Color",
                                                 "Sport",
                                                 "# of Years",
                                                 "Vegetarian"};
              final Object[][] data = {
                   {"Mary", new Color(153, 0, 153), "Snowboarding", new Integer(5), new File("D:\\html\\f1.gif")},
                   {"Alison", new Color(51, 51, 153), "Rowing", new Integer(3), new File("D:\\html\\f2.gif")},
                   {"Philip", Color.pink, "Pool", new Integer(7), new File("D:\\html\\f3.gif")}
              public int getColumnCount() {
                   return columnNames.length;
              public int getRowCount() {
                   return data.length;
              public String getColumnName(int col) {
                   return columnNames[col];
              public Object getValueAt(int row, int col) {
                   return data[row][col];
              public Class getColumnClass(int c) {
                   return getValueAt(0, c).getClass();
              public boolean isCellEditable(int row, int col) {
                   if (col < 1) {
                        return false;
                   } else {
                        return true;
              public void setValueAt(Object value, int row, int col) {
                   data[row][col] = value;
                   fireTableCellUpdated(row, col);
         public static void main(String[] args) {
              TableDialogEditDemo frame = new TableDialogEditDemo();
              frame.pack();
              frame.setVisible(true);
    import java.awt.Component;
    import java.util.EventObject;
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    import java.io.*;
    public class PictureChooser extends JButton implements TableCellEditor, ActionListener {
         protected EventListenerList listenerList = new EventListenerList();
         protected ChangeEvent changeEvent = new ChangeEvent(this);
         private File file;
         public PictureChooser() {
              super("");
              setBackground(Color.white);
              setBorderPainted(false);
              setMargin(new Insets(0,0,0,0));
              addActionListener(this);
         public Component getTableCellEditorComponent(JTable table, Object value,
                                                 boolean isSelected, int row, int column) {
         File f = (File)value;
         try {
              setIcon(new ImageIcon(f.toURL()));
         catch (Exception e) {
              e.printStackTrace();
         return this;
         public void actionPerformed(ActionEvent e)
         JFileChooser chooser = new JFileChooser("d:\\html");
         int returnVal = chooser.showOpenDialog(this);
              if(returnVal == JFileChooser.APPROVE_OPTION) {
                   file = chooser.getSelectedFile();
                   System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName());
                   fireEditingStopped();
              else
                   fireEditingCanceled();
         public void addCellEditorListener(CellEditorListener listener) {
         listenerList.add(CellEditorListener.class, listener);
         public void removeCellEditorListener(CellEditorListener listener) {
         listenerList.remove(CellEditorListener.class, listener);
         protected void fireEditingStopped() {
         System.out.println("fireEditingStopped called ");
         CellEditorListener listener;
         Object[] listeners = listenerList.getListenerList();
         for (int i = 0; i < listeners.length; i++) {
              if (listeners[i] == CellEditorListener.class) {
              listener = (CellEditorListener) listeners[i + 1];
              listener.editingStopped(changeEvent);
         protected void fireEditingCanceled() {
         CellEditorListener listener;
         Object[] listeners = listenerList.getListenerList();
         for (int i = 0; i < listeners.length; i++) {
              if (listeners[i] == CellEditorListener.class) {
              listener = (CellEditorListener) listeners[i + 1];
              listener.editingCanceled(changeEvent);
         public void cancelCellEditing() {
         System.out.println("cancelCellEditing called ");
         fireEditingCanceled();
         public boolean stopCellEditing() {
         System.out.println("stopCellEditing called ");
         fireEditingStopped();
         return true;
         public boolean isCellEditable(EventObject event) {
         return true;
         public boolean shouldSelectCell(EventObject event) {
         return true;
         public Object getCellEditorValue() {
              return file;

  • I am changing from Word to Pages. I have created my custom template with all my styles etc and that is what comes up when I go for a New Document. Fine. How do I get it to use the same Custom Template when I use Pages to open a Word document?

    I am changing from Word to Pages. I have created my custom template with all my styles etc and that is what comes up when I go for a New Document. Fine. How do I get it to use the same Custom Template when I use Pages to open a Word document?

    The template is a document in itself, it is not applied to an existing document whether it is a Pages document or a Word document converted to a Pages document.
    You would need to either copy and paste content, using existing styles, or apply the styles to the converted Word document.
    You can Import the Styles from an existing document and those imported Styles can be used to override the current document's styles:
    Menu > Format > Import Styles
    The process is simplified if the styles use the same names, otherwise you will need to delete the style you don't want and replace it with the one that you do want when asked, then the substitution is pretty straightforward.
    Peter

  • Error occurred while finding users using API with custom field

    Hi All,
    I am getting the following error while searching user using API with custom attribute. Did anybody faced the same problem before ?
    Hashtable<Object,Object> env = new Hashtable<Object,Object>();
    env.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
    env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, "t3://localhost:14000");
    System.setProperty("java.security.auth.login.config","C:\\Oracle\\Middleware\\Oracle_IDM1\\designconsole\\config\\authwl.conf");
    System.setProperty("OIM.AppServerType", "wls");
    System.setProperty("APPSERVER_TYPE", "wls");
    tcUtilityFactory ioUtilityFactory = new tcUtilityFactory(env, "xelsysadm", "Weblogic123$");
    OIMClient client = new OIMClient(env);
    client.login("xelsysadm", "Weblogic123$".toCharArray());
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    tcUserOperationsIntf moUserUtility = (tcUserOperationsIntf)ioUtilityFactory.getUtility("Thor.API.Operations.tcUserOperationsIntf");
    Hashtable mhSearchCriteria = new Hashtable();
    mhSearchCriteria.put("USR_UDF_ACTUALSTARTDATE",formatter.format(date));
    tcResultSet moResultSet = moUserUtility.findAllUsers(mhSearchCriteria);
    printTcResultSet(moResultSet,"abcd");
    log4j:WARN No appenders could be found for logger (org.springframework.jndi.JndiTemplate).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" Thor.API.Exceptions.tcAPIException: Error occurred while finding users.
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl_1036_WLStub.findAllUsersx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
    at com.sun.proxy.$Proxy2.findAllUsersx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntfDelegate.findAllUsers(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.security.Security.runAs(Security.java:41)
    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
    at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
    at com.sun.proxy.$Proxy3.findAllUsers(Unknown Source)
    at oim.standalone.code.OIMAPIConnection.usersearch(OIMAPIConnection.java:209)
    at oim.standalone.code.OIMAPIConnection.main(OIMAPIConnection.java:342)
    Caused by: Thor.API.Exceptions.tcAPIException: Error occurred while finding users.
    at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.findAllUsers(tcUserOperationsBean.java:4604)
    at Thor.API.Operations.tcUserOperationsIntfEJB.findAllUsersx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1614.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy347.findAllUsersx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl.findAllUsersx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Thank you

    Hi J,
    Thanks for the reply. But the code is working fine for OOTB attributes and  for 11g API i am getting permission exception
    Exception in thread "main" oracle.iam.platform.authz.exception.AccessDeniedException: You do not have permission to search the following user attributes: USR_UDF_ACTUALSTARTDATE.
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.search(UserManagerImpl.java:1465)
    at sun.reflect.GeneratedMethodAccessor1034.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:25)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy366.search(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManagerEJB.searchx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1449.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy365.searchx(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.searchx(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: oracle.iam.identity.exception.SearchAttributeAccessDeniedException: You do not have permission to search the following user attributes: USR_UDF_ACTUALSTARTDATE.
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.search(UserManagerImpl.java:1462)
    ... 44 more

  • Creating a new work item instance in a process using PAPI

    I'm seeing that there are a lot of questions on this forum about using Oracle BPM 10g's Java API called PAPI.
    I just uploaded a step by step document on how you could do this using JDeveloper 11. Here's the link to this document: http://www.4shared.com/file/126507332/e814a3a8/CallingPapi.html. The Oracle BPM project I used for this step-by-step document is also in this zip file. If you're curious, this also describes how to download, install and start JDeveloper 11.
    This is not formal Oracle documentation, but I know from teaching our Oracle BPM Bootcamp class that getting PAPI to work is sometimes a challenge and thought this might help. I tried to write it with the "Java Newbie" in mind so do not panic if you aren't an expert in Java (I'm sure not ?:| ).
    This is a simple example that uses most of the logic found in the PAPI documentation on http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/papi/index.html?t=modules/papi/c_Head_PAPI.html in the "Writing Your First Java PAPI Program" section of this document.
    The document provides a step-by-step description on how how to use PAPI to:
    <li> interface to processes running on an Oracle BPM Enterprise Engine using the same logic that is in the Oracle BPM PAPI documentation
    <li> interface to processes running on an Oracle BPM Studio Engine
    <li> list processes currently running on the Engine using the same logic that is in the Oracle BPM PAPI documentation
    <li> list the work item instances running on the Engine using the same logic that is in the Oracle BPM PAPI documentation
    <li> create a new work item instance in a process and pass in input argument variables to the new instance as it is created.
    Hope you find this useful,
    Dan

    Hi
    i have gone through your example. It gives good information how to connect to BPM engine through java papi client. I have followed exactly the same steps given in the PDF document. But it throws the exception on both java client side and BPM Suite.
    Steps followed :
    1. Import sampleproject.exp into Oracle BPM studio and start the BPM engine.
    2. Imported the fuegopapi-client.jar and Write the JAVA PIPA client to connect Oracle BPM Engine.
    complete example code:_
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    import fuego.papi.OperationException;
    import java.util.Properties;
    public class ProcessAPIClient {
         public static void main(String[] args) {
    /////////////////// API Initialization ///////////////////
    Properties configuration = new Properties();
    configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
    configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "directory.xml");
    configuration.setProperty(ProcessService.PROJECT_PATH, "C:\\Oracle\\OracleBPMWorkspace\\SampleProject" );
    configuration.setProperty(ProcessService.WORKING_FOLDER, "/tmp");
    try {
    ProcessService processService = ProcessService.create(configuration);
    /////////////////// Establish a session ///////////////////
    ProcessServiceSession session = processService.createSession("test", "test", null);
    /////////////////// Operate with PAPI ///////////////////
    for (String processId : session.processesGetIds()) {
    System.out.println("\n Process: " + processId);
    for (InstanceInfo instance : session.processGetInstances(processId)) {
    System.out.println(" -> " + instance.getId());
    /////////////////// Close the session ///////////////////
    session.close();
    /////////////////// Release API Resources ///////////////////
    processService.close();
    } catch (CommunicationException e) {
    System.out.println("Could not connect to Directory Service");
    e.printStackTrace();
    } catch (OperationException e) {
    System.out.println("Could not perform the requested operation");
    e.printStackTrace();
    It throws the following exception and output on java client._
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Creating ProcessService with id 'SampleProject'.
    Local folder /tmp\system\Schema33871921573571055\catalogs found.
    Loading catalogs from local folder: /tmp\system\Schema33871921573571055\catalogs
    0 jars found locally.
    [CatalogMgrCache] =======================
    Registering CatalogMgr [SampleProject] ...CatalogManagerCache 23240993:
    Managers:
    Counters:
    [CatalogMgrCache] =======================
    CatalogMgr [SampleProject] REGISTERED!CatalogManagerCache 23240993:
    Managers:
    {SampleProject=fuego.util.LocalCatalogManager@40b187}
    Counters:
    ProcessService 'SampleProject' created successfully.
    Process: /SampleProcess#Default-1.0
    Unreachable Engine Tolerance (seconds):
    by default: 0
    to be used: 0
    This papi client will not cache exceptions which imply that an engine could not be reached.
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/MessageEOFException
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:169)
         at $Proxy24.<clinit>(Unknown Source)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at fuego.papi.impl.AbstractProcessControlHandler.newProxyInstance(AbstractProcessControlHandler.java:52)
         at fuego.papi.impl.rmi.RMIProcessControlHandler.createProxy(RMIProcessControlHandler.java:47)
         at fuego.papi.impl.rmi.RMIEngineAccessImpl.createProcessControl(RMIEngineAccessImpl.java:111)
         at fuego.papi.impl.ProcessServiceImpl.createProcessControl(ProcessServiceImpl.java:1082)
         at fuego.papi.impl.ProcessServiceSessionImpl$1.run(ProcessServiceSessionImpl.java:2698)
         at fuego.papi.impl.ProcessServiceImpl.executeEngineOp(ProcessServiceImpl.java:1675)
         at fuego.papi.impl.ProcessServiceSessionImpl.getProcessControl(ProcessServiceSessionImpl.java:2703)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGetInstances(ProcessServiceSessionImpl.java:2365)
         at com.eds.comet.bpm.oracle.papi.client.ProcessAPIClient.main(ProcessAPIClient.java:30)
    Caused by: java.lang.ClassNotFoundException: javax.jms.MessageEOFException
         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
         ... 16 more
    It throws the following exception and output on Oracle BPM Suite._
    Client 'Id=test, Name=test, In=1, Session=564242434' was not found in lists ', PARTICIPANTS' while disconnecting it.
    Please help me to resolve this. I noticed it is able to connect BPM engine and retrieve process list. But while getting instances, it throws the exceptions on both Java Client and BPM engine side.
    Thanks and Regards
    Mahesh

  • Using the HTML SAP GUI inside the Enterprise Portal?

    Hello everyone
    In our company we plan to set up the SAP Enterprise Portal (NetWeaver 7.0). The first application we want to provide inside the portal is the SAP GUI that connects to our SAP ERP 2005 system via single sign on. Therefor two different approaches exist:
    1: Using the standard SAP GUI inside a portal iView. In this case every client pc needs the SAP GUI installed.
    2: Using the HTML SAP GUI. In this case we have to set up the integrated ITS in our SAP ERP system.
    Now I have some questions about the second approach. Is the functionality of the HTML GUI equal to the functionality of the standard GUI? If not, what are the restrictions? How high is the additional load on the network and SAP ERP system caused by the HTML GUI? Would you recommend this approach for a system with more than thousand SAP users?

    Hi Marc,
    At least if you consider using webgui, you should test the transactions properly as there are some issues for example with scandinavian characters and lines visible in lists of search helps.
    Also you might want to consider the limitations of the screen resolutions and space which the portal framwork already takes from the gui. This of course is a topic for both HTML/SAP GUI's.
    Kind regards,
    Ville

  • How to use a flex custom component in an AS3 Class?

    Our software team has been developing flash applications using AS3 (via the FlashDevelop IDE and the free Flex SDK).  Recently, some members of the team started exploring FlexBuilder and Flex (wow... why did we wait so long?).  The problem is that some folks continue to develop using pure Action Script 3 (FlashDevelop) while others are creating custom components in FlexBuilder.
    How do the AS3 developers use the Flex Custom components built in FlexBuilder in their AS3 Applications?

    SwapnilVJ,
    Your suggestions enabled me to make progress, but I'm still having a problem.  Based on you suggestion, I learned how to make a swc using Flex Builder.  I successfully added the swc to the lib resource in my AS3 project (FlashDevelop).  I was able to instantiate one of my new components (code hinting even picked it up from the lib).
    When I run my app, my component is not visible.  I can trace properties of it and the values are correct.  Any thought why I might not be seeing my custom component?
    package trainer.games.board.MatchThree {
    import flash.display.Sprite;
    public class Test extends Sprite{
      private var cp:MatchingGameControlPanel; // <<< this is my swc custom component created in Flex
      public function Test() {
       cp = new MatchingGameControlPanel();
       cp.visible = true;
       addChild(cp);
       trace("width: ",cp.width); // <<< works and displays valid data for the component.

  • Error while connecting using Papi

    Hi All
    I facing some issue while connecting to ALBPM Studio 6.x using PAPI.
    Exception is as follows
    java.lang.NoClassDefFoundError: fuego/papi/exception/NoPermissionException
         at pageflows.bpmRedirect.TestController.begin(TestController.java:67)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
         at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
         at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
         at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
         at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:335)
         at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    I am calling an external servlet(controller) on click of an interactive activity.
    e.g
    Let my process Test is waiting at an interactive activity 'A' which on executing calls an external resource say 'TestController'. For this I had created a 'Server Configuration' in external resources and selected this configuration in Interactive Activity 'A'.
    On the 'TestController' when I able to fetch instanceId, activity name, but when I try to create Papi session I am getting exception mentioned above
    Code used for creating session is as follows
    Properties prop = new Properties();
    prop.setProperty(ProcessService.DIRECTORY_ID,"default");
    prop.setProperty(ProcessService.PROJECT_PATH,"D:/ALBPM6_Workspace/Testing");
    ProcessService processService;
    ProcessServiceSession bpmSession = null;
    try {
         processService = ProcessService.create(prop); //Exception at this line
         try {
              bpmSession = processService.createSession("test","test","localhost");
              } catch (OperationException e) {
              e.printStackTrace();
    } catch (CommunicationException e) {
         e.printStackTrace();
    Also when I run the above mentioned code by just creating a simple java program using main() it runs successfully.
    Please help me in this regard
    Thanks

    This is resolved it was the jar issue.
    Thanks

  • Export Project Tasks to Excel using VBA by Custom Field

    Question referring to the link:
    http://social.technet.microsoft.com/Forums/projectserver/en-US/9c46458c-893f-41ba-bd46-bdb59c533f4a/export-project-tasks-to-excel-using-vba-by-custom-field?forum=project2010custprog
    Help needed. I have inserted my question at this address for Andrew or anybody else to reply. Hope to hear from you.
    Regards,
    Chuck

    Thank you Andrew for getting back to me and I have found somewhere on the net the following macro that would do the job for the version 2007. Here is a copy for those that may need it.
    Option Explicit
    Sub CreateMenus()
    Dim cbrMain As CommandBar
    Dim ctlMain As CommandBarControl
    Dim ctlOLExport1 As CommandBarControl
    Dim ctlOLExport2 As CommandBarControl
    Dim ctlOLExport3 As CommandBarControl
    Set cbrMain = Application.CommandBars.ActiveMenuBar
    Set ctlMain = cbrMain.Controls.Add(Type:=msoControlPopup, Temporary:=True)
    ctlMain.Caption = "Export to Outlook"
    Set ctlOLExport1 = ctlMain.CommandBar.Controls.Add(Type:=msoControlButton)
    With ctlOLExport1
    .Caption = "Selection to Outlook tasks"
    .OnAction = "Macro """ & "Export_Selection_To_OL_Tasks"""
    End With
    Set ctlOLExport2 = ctlMain.CommandBar.Controls.Add(Type:=msoControlButton)
    With ctlOLExport2
    .Caption = "Selection to Outlook appointments"
    .OnAction = "Macro """ & "Export_Selection_To_OL_Appointments"""
    End With
    Set ctlOLExport3 = ctlMain.CommandBar.Controls.Add(Type:=msoControlButton)
    With ctlOLExport3
    .Caption = "Selection to Outlook notes"
    .OnAction = "Macro """ & "Export_Selection_To_OL_Notes"""
    End With
    End Sub
    Cheers!
    Chuck

Maybe you are looking for