Getting Human Workflow Tasklist from Oracle BPEL

For my last project we had to get access to the HumanWorkflow Tasklist that was created and maintained by Oracle BPEL For this purpose BPEL comes with an API that should be used. However, for the latest release there isn’t very much documentation about it. After searching the internet I ended up in this thread of the BPEL forum.

So that’s why I decided to make this blog so other people running into problems with the API can use this code as a headstart.The project (which can be downloaded here: was tested with JDeveloper and a running instance of Oracle’s SOA Suite The code uses the REMOTE_CLIENT option to connect to the BPEL instance. The BPEL instance is running on a machine called ‘pascal-laptop’ and I have set the RMI port for the OC4J instance to 12401. All other settings are defaults. When you open the project you will see a file called ‘wf_client_config.xml’. This file configures the location where the client can find the BPEL server and it’s services. You most likely will have to change this file to make it match your configuration.

If you are running into a ‘NoClassDefFoundError’ you have probably an error in the ‘wf_client_config.xml’ file. You should also check the libraries I have defined at the project, to make sure the used paths are all valid.

Now back to the sample code:

    • The tasklist that is created will show ALL tasks in your BPEL instance.

You would probably want to filter those. First of all you can replace ITaskQueryService.ASSIGNMENT_FILTER_ALL with ITaskQueryService.ASSIGNMENT_MY_AND_GROUP so only tasks that are assigned to the user logged in and/or his group are shown.
Furthermore you can use the method getFilter(…) to create a custom filter that filters the output.

    • Another thing I want to mention is the authenticate method.

The authentication is now done with the oc4jadmin user. You can use the fourth parameter to ‘log in’ on behalf of another user. If I created a user ‘palma’ and supply this as a parameter I will only see the tasks of the user ‘palma’ and his group. We use this construction in our application. We extract the username from the authenticated session of the web-application and supply it with the authenticate method so only the tasks of that webuser (and his group) are shown.

    • My final recommendation

Since the authentication is a rather ‘expensive’ method it is wise to, when you have obtained a HumanworkflowContext, store it in your session context. This way you can take it from there instead of authenticating yourself for each ‘query’.

I hope this blog and sample code helps. Please let me know what you think of it!

About Pascal Alma

Pascal is a senior software developer and architect. Pascal has been designing and building applications since 2001. He is particularly interested in Open Source toolstack (Mule, Spring Framework, JBoss) and technologies like Web Services, SOA and Cloud technologies. Lately he is having great fun by building iOS apps with Swift. Specialties: JEE AWS XML/XSD/XSLT Web Services/SOA Mule ESB/ WSO2 ESB Maven Cloud Technology Swift/ iOS
This entry was posted in BPEL and tagged . Bookmark the permalink.

10 Responses to Getting Human Workflow Tasklist from Oracle BPEL

  1. Edward says:


    I can not download file from your link. Is the link correct?

  2. Pascal Alma says:

    Hi Edward,

    You were right, the link had become invalid. I have corrected this and will check my other links😉

    Thx for your feedback.

  3. rama says:


    This post is very helpful. I want to use BPMAuthorizationService when using REMOTE_CLIENT. I am getting the object as null. Can anybody please post how we can use this service when using remote client.

  4. patroner says:

    Yes, please. I agree with Rama. Anybody knows this?

  5. tsangnn says:

    Has anyone got this working in SOA Suite I got NoClassDefFoundError: com/collaxa/common/util/NonSyncPrintWriter at getTaskList. Any idea?

  6. emason says:

    I have received this error..
    NoClassDefFoundError: om/collaxa/common/util/NonSyncPrintWriter

    when the RMI port had become invalid in my wf_client_config.xml file.

  7. tsangnn says:

    In my case it wasn’t the RMI port. It was the jar files in the project libraries. I re-arrange them and it worked. Thanks.

  8. lasek says:

    Can you describe what kind of jars did you add ? And where did you add them ? I have the same problem and i cant find any clues…

  9. tsangnn says:

    Here is the jar and directories you need to add to your Project Properties:

    ADF Model Runtime

    You should find all these libs, jars and directories under your local JDev installation or your OC4J installation. Run a Search to find them then add them to your project properties under Libraries. You might need to download the wsclient_extended.jar from OTN. Hope this helps.

  10. James says:

    Oracle Human Workflow – Contract Min 6 Months – Daily Rate Negotiable

    An important HE Sector Client is looking for an Oracle 10g consultant to work in the North of England/Scotland area to implement Oracle Human Workflow. This will involve a knowledge transfer to train other staff on the technology. You will be assisting and working on the design and build.

    Oracle 10g
    Human Workflow

    Experience training and teaching others
    Concept to completion

    If you are interested in this opportunity please contact James Battle, consultant for contract IT staff in the HE sector, on 020 7758 7333

    Please feel free to forward this onto anyone you believe may be relevant.

    (Real Resourcing acts as an Employment Agency and an Employment Business)

Comments are closed.