Trigger ADF page flow from BPEL

Hi
I have couple of questions regarding BPEL and ADF interactions.
My requirement is to launch a application (similar to a payment gateway) which takes the input parameters from client and performs some processing using couple of ADF pages. After my processing is done, i would like to direct the page flow to "success" or "failure" pages. the URL's for the success and failure pages would be provided by the client in the payload before launching the application.
1. can a ADF flow be triggered from a BPEL/ESB process ?
2. can the client apps page flow be modified by the result of my apps processing ?
any pointers to sample implementations or documentation would be really helpful.
Thanks in advance
Pradeep

Pradeep,
BPEL - Business Process Execution Language - not Page Flow Execution Language :D. BPEL is for Business process development at a large and not to replace the page flow of say Struts, or JSF navigation.
You can trigger any process from a page but I would strongly advise against trying to do the opposite route. For simple fillups off information you can use the Human Workflow part of BPEL, for complex - screensets - this will be part of 11.
For your requirement, it might be good enough to write some result from a process to the db and based on it - the application decides what to do next - in this case the page flow lies again within the application and NOT BPEL
hth clemens

Similar Messages

  • Trigger ADF page flow from ESB

    Hi
    I have couple of questions regarding ESB and ADF interactions.
    My requirement is to launch a application (similar to a payment gateway) which takes the input parameters from client and performs some processing using couple of ADF pages. After my processing is done, i would like to direct the page flow to "success" or "failure" pages. the URL's for the success and failure pages would be provided by the client in the payload before launching the application.
    1. can a ADF flow be triggered from a ESB/BPEL process ?
    2. can the client apps page flow be modified by the result of my apps processing ?
    any pointers to sample implementations or documentation would be really helpful.
    Thanks in advance
    Pradeep

    Sorry for spamming the forum..
    I thought both forums are handled by different PM's....
    For the benifit of visitors to this thread...
    Here is the link for the Question posted in the BPEL forum which was answered by clemens.
    Trigger ADF page flow from BPEL
    Pradeep

  • ADF- Pop-up and ADF Page Flow Runtime library

    Hi:
    Why doesn't pop-up work if the project has ADF Page Flow Runtime?
    Thanks in advance

    I'm assuming you are talking about JDev 11 here - so please use the JDev 11 forum:
    JDeveloper and OC4J 11g Technology Preview
    And please clarify what you are trying to do and what doesn't work.

  • ADF Page Flow Action - Page Refresh

    Hello,
    BACKGROUND
    I'm working on a POC development environment using Oracle technologies. I'm using a Windows XP SP3 machine with JDeveloper 11.1.1.5 and WebLogic 10.3. What I have currently setup is:
    - Work in Jdeveloper 11.1.1.5 to edit code sources etc
    - Build project and EAR using Ant
    - Deploy EAR to WebLogic 10.3 using WLST
    The JDeveloper project was created as a WebCenter Portal Application however I don't use any of the portal features nor are there any included in the project (we might use this in the future). It's a basic vanilla ADF application at the moment with a few JSPs, a placeholder data control and 1 bounded and unbounded task flows.
    PROBLEM
    The package builds and deploys fine and I can view a landing page ok. The problem is when I try and click a button or link that goes to another page in the Page Flow the page just seems to refresh. I can see that a request is hitting the server but it would seem the framework isn't invoking the action.
    EXTRA INFO / DEBUG
    The weird thing is, if I right click a page in JDeveloper and run it in the integrated weblogic the application works fine. I thought it might be my build process so I tried right clicking and exporting an EAR file from JDeveloper and deploying that into my WebLogic but that one fails with the same refresh problem as my Ant generated one.
    I have done a file and directory comparison of the EAR and it all is the same. This lead me to believe it might be my WebLogic server/domain, so I deployed my Ant generated EAR manually into the integrated JDeveloper weblogic in which the auto deploy application is working. This however still fails with the refresh problem. It must be something to do with my EAR but I can't for the life of me figure it out as it all looks the same!
    I do get a few warnings when deploying, hopefully these can help:
    ####<11/10/2011 11:00:19 AM EST> <Warning> <J2EE> <OVLD630422KV1S> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <3fe29258d1efb468:5549c41:132efedbfd7:-8000-0000000000000100> <1318291219078> <BEA-160140> <Unresolved optional package references (in META-INF/MANIFEST.MF): [Extension-Name: oracle.apps.common.resource, referenced from: C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\oracle.webcenter.framework\l81aqz]. Make sure the referenced optional package has been deployed as a library.>
    ####<11/10/2011 11:00:21 AM EST> <Warning> <J2EE> <OVLD630422KV1S> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <3fe29258d1efb468:5549c41:132efedbfd7:-8000-0000000000000100> <1318291221031> <BEA-160195> <The application version lifecycle event listener oracle.security.jps.wls.listeners.JpsAppVersionLifecycleListener is ignored because the application MyApp-0.1 is not versioned.>
    ####<11/10/2011 11:00:36 AM EST> <Warning> <Default> <OVLD630422KV1S> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <3fe29258d1efb468:5549c41:132efedbfd7:-8000-0000000000000104> <1318291236562> <J2EE JMX-46238> <Cannot map nonserializable type "interface oracle.adf.mbean.share.config.runtime.resourcebundle.BundleListType" to Open MBean Type for mbean interface oracle.adf.mbean.share.config.runtime.resourcebundle.AdfResourceBundleConfigMXBean, attribute BundleList.>
    Cheers,
    Ross

    Oh! I see now yes that seems to have fixed it. It seems that if you create a page as .jsp and .jspx they are slightly different too.
    .jspx has this around the content of the page
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    </jsp:root>
    The .jsp does not. So when you hit the .jsp page (e.g. test.jsp) in the browser without the extension (e.g. url:port/myapp/faces/test) you get a 404 not found.
    Hitting one that was created as a .jspx page with the extra XML stuff in the file works ok when you drop the extension.
    So just for clarification, should you use .jspx for 'pages' and .jsp for fragments of a page?

  • How to call Generic Page flow from jsp

    Hi All,
    I have some links in my home page(jsp file).Based on user's selection, i need to show another JSP page using pageflow(JPF).
    thanks in advance
    vandana

    i have function created by java script lets say x and i want to call this function from jsp scriplet tag which is at the same page ..thanks

  • Calling Service Control from Page Flow

    In Workshop for Weblogic Platform v10.0, we have a web service control in a page flow.
    Although the web service call succeeds (as evidenced by a TcpMon monitor), the control method always returns null.
    I'm guessing that although the call looks synchronous, it's actually behaving asynchronously - returning immediately with null.
    Is this perhaps related to the particulars of calling controls from a Page Flow environment? Is it a bug in v10 of Workshop (Eclipse-based?
    Thanks for any ideas!
    - Rob
    ps: Here's the control interface and using class:
    package controls;
    import com.bea.control.ServiceControl;
    import org.apache.beehive.controls.api.events.EventSet;
    import org.apache.beehive.controls.api.bean.ControlExtension;
    @ServiceControl.Location(urls = {"http://LECAP1.lan.us.ray.com:9905/xsltTransform_vs0"})
    @ServiceControl.HttpSoapProtocol
    @ServiceControl.SOAPBinding(style = ServiceControl.SOAPBinding.Style.DOCUMENT, use = ServiceControl.SOAPBinding.Use.LITERAL, parameterStyle = ServiceControl.SOAPBinding.ParameterStyle.BARE)
    @ServiceControl.WSDL(resourcePath = "controls/cesXsltTransform.wsdl", service = "xsltTransform_vs0")
    @ControlExtension
    public interface xsltTransform_vs0ServiceControl extends ServiceControl
    static final long serialVersionUID = 1L;
    public java.lang.String xmlTransform(com.raytheon.schemas.ces.transformationservices.xmlschema.schema.TransformInput transformInput_arg);
    /** This event set interface provides support for the onAsyncFailure event.
    @EventSet(unicast=true)
    public interface Callback extends ServiceControl.Callback {};
    @Control
    private xsltTransform_vs0ServiceControl xsltTransform_vs0ServiceControl1;
    com.raytheon.schemas.ces.transformationservices.xmlschema.schema.TransformInput transformInput_arg = form
                        .getTransformInput_arg();
    String xmlTransformResult = xsltTransform_vs0ServiceControl1
                        .xmlTransform(transformInput_arg);

    Strange -- the PageFlowJspFilter adds no-cache headers to the response, so
    if you're forwarding to a JSP from the action, then the browser shouldn't be
    caching the result. What's in the URL bar in the case where your request is
    getting cached?
    "Neeraj Harlalka" <[email protected]> wrote in message
    news:3ff993bd$[email protected]..
    >
    Richard -
    Ok. I dug deeper into the issue and now my problem is that although theaction
    is getting called correctly, it seems to execute from a cache. The actiondoes
    not get executed the second time.
    Any ideas?
    Neeraj
    "Richard Feit" <[email protected]> wrote:
    Hmm... I'm not sure why you'd get that. Can you post the relevant JSP
    code?
    Also, are you able to hit the other page flow directly from a browser?
    Rich
    "Neeraj Harlalka" <[email protected]> wrote in message
    news:[email protected]..
    Hi Richard -
    I get an error saying cannot find the begin.do action.
    Thanks
    Neeraj
    Richard Feit" <[email protected]> wrote:
    Hello Neeraj,
    This should work:
    <netui:anchor
    href="/someOtherFlow/SomeOtherFlowController.jpf">someOtherFlowController.
    j
    p
    f</netui:anchor>
    What happens when you do this?
    Rich
    "Neeraj Harlalka" <[email protected]> wrote in message
    news:3fda39df$[email protected]..
    I read the other posts on how to call one page flow from a jsp
    that
    belongs to
    another pageflow. However the last suggestion posted - use the netuianchor tag
    with href, also does not work.
    Any other solution?
    Thanks
    Neeraj

  • Message resources from page flow

    How can I access the ResourceBoundle declared at the top of the page flow, from
    the page flow?

    I have a question that goes along with this...
    Can you add formatting with any of these different bundle options? Since
    8.1 SP2 now has the attribute "accessKey" on buttons, we'd like to be able
    to underline the letter we are using for the accessKey. Our attempt at
    using the message bundle just puts the formatting inside the button value.
    When the jsp displayed this was the value shown for the button text: <u> S
    </u>ubmit
    Is this possible to do without using javascript? One of our team members
    found a script that adds the underline, but there is alot of code to
    underline one letter.
    Ideas?
    Thank you!
    Wendy
    "John Rohrlich" <[email protected]> wrote in message
    news:[email protected]...
    Gus,
    Your welcome.
    You don't need to get the bundle and pass it. You can access it directly
    from the JSP. If these are validation error messages you can use the
    <netui:error> tag. If the string you want to access is not for displaying
    validation errors you'll want to access the strings in another manner. The
    documentation in
    http://edocs.bea.com/workshop/docs81/doc/en/workshop/guide/netui/guide/conDatabindingXScript.html
    shows at least 3 approaches. Here is the relevant section from that
    document.
    bundle
    The bundle data binding context references properties that you define in a
    message resources file, which allows you to implement internationalizedweb
    applications by not hard-coding text labels in your JSP pages.
    For example, in your page flow controller class, you can add an annotation
    such as the following:
    * @jpf:controller
    * @jpf:message-resources resources="labels.Messages"
    public class Controller extends PageFlowController
    { ...In this example, the naming convention is that the message resources
    file must be located in the project's /WEB-INF/classes/labels directory,and
    the file must be named Messages.properties.
    In the Messages.properties file, you might have a property such as:
    nameLabel=Name Then in your JSP page, you can use a data bindingexpression
    such as the following:
    <netui:label value="{bundle.default.nameLabel}"/> Alternately, you can use
    the key attribute on the @jpf:message-resources annotation:
    In your page flow controller class annotation:
    * @jpf:controller
    * @jpf:message-resources key="foo" resources="labels.Messages"
    public class Controller extends PageFlowController
    { ...Assume that the Messages.properties file in the
    /WEB-INF/classes/labels directory is the same as shown in the previous
    example. In the JSP page, you could use a tag such as the following:
    <netui:label value="{bundle['foo/jpfDirectory'].nameLabel}"/> In this
    case, your page flow controller class file is/jpfDirectory/Controller.jpf.
    >
    Another option is to use the <netui-data:declareBundle> tag. For example,in
    your JSP page:
    <netui-data:declareBundle name="someMessages"
    bundlePath="com/foobar/resources/WebAppMessages"/>This tag declares abundle
    that can be referenced in a data binding expression, such as in the
    following example:
    <netui:label value="{bundle.someMessages}"/> For more information, see the
    topics about the @jpf:message-resources Annotation and the
    <netui-data:declareBundle> Tag.
    "Gus" <[email protected]> wrote in message
    news:[email protected]...
    First of all, thanks!
    I want to get a string from the bundle and pass it to a JSP in therequest.
    I have defined the resources at the top of the JPF, as specified in thehelp:
    @jpf:message-resources resources="mensajes"
    The question is how can I get a string from the mensajes.properties
    file.
    >>
    Gus
    I would be better able to answer your question if I knew what you
    wanted
    to
    do. Are you trying to display the strings from the bundle?
    john
    "Gus" <[email protected]> wrote in message
    news:[email protected]...
    How can I access the ResourceBoundle declared at the top of the pageflow,
    from
    the page flow?

  • ADF  task-flow and transactions

    Hi All,
    I have created a web application using ADF and JDeveloper 11.1.1.4. The ADF web application has two pages 'Search' and 'Edit'. The 'Search' and 'Edit' are page fragments. I have two bounded task flows 'search-flow.xml and 'edit-flow.xml'. The search and edit functionality has been created as dynamic regions by dragging the task-flows onto the JSF page.
    The bounded search-flow.xml has page flow from search ----> edit(Parent Action component)
    The bounded edit-flow.xml has page flow as *-->edit----> search(Parent Action component)
    User comes from login page to the search page. On search page users can choose to search for records and edit individual searched records or create a new record using 'CreateInsert' button. Either way users end up on the edit page.
    On the edit page, users see a form to fill or modify. They have the choice to navigate back to search page using 'Search' button or commit changed record using 'Save' button or create new record using 'Create' button
    The application is functioning 90% as expected, only problem is the transaction management part if the user does not care to save each time the edit is made.
    Say for instance, on search page user press ' CreateInsert' button which takes the user to edit page and then without saving the new record user presses 'Search' button which takes the user to search page and so repeated goes back and forth cycle.
    In such cases the transaction never ends, The primary key for each new record is retrieved from the DB sequence only on persisting to database. A place holder like negative integer is used for the primary key temporarily till new record is persisted to database.
    As per best practices, I am using the checkUncommittedDatabehavior which prompts the user when navigation is done away from the edit page i.e. without saving on pressing the 'Search' button on edit page. User can choose 'OK' or 'Cancel' which comes bundled with the ADF checkUncommittedDatabehavior property. Even after selecting OK the new record does not seems to be rollbacked (Issue 1).
    eg:, if the user performs the cycle(i.e navigating between search and edit pages without commit/save) 'n' times, new entity records are created with primary keys -1, -2, -3, -4 ........ so forth. As I said earlier a proper sequence number for the primary key is assigned only if a record is persisted to the database.
    Now on the 'n+1' cycle the user fills the records and clicks commit, it comes up with a error 'primary keys with nulls from previous uncommitted record (i.e; 1,2,3, .....n) creation.
    I guess the transaction management is not happening correctly and not completing during these cycles (1, 2...n) Note: I am not using 'Task Return' components in my bounded ADF task flows, just commit operation 'Save' button in edit page and checkUncommittedDatabehavior.
    Also, in search-flow.xml I have following configured under 'Behavior' tab Transaction ---> No Controller transaction and ' Share data controls with calling task flow checked
    in edit-flow.xml, these configurations are in place under 'Behavior' tab Transaction ---> Always begin new transaction and ' Share data controls with calling task flow checked and Critical checked and 'task flow rentry' as reentry-outcome dependant.
    Thanks
    Edited by: user5108636 on Oct 26, 2011 5:16 PM
    Edited by: user5108636 on Oct 26, 2011 5:24 PM

    Hi Frank,
    I checked the DB sequence is setup correctly. I have also modified the problem description above for better understanding.
    2. When users press OK, navigate to a commit method activity (just drag and drop the commit operation).
    -- When user presses OK, I need to rollback instead of commit to make users lose the unsaved work and controller should navigate to the search page. Here, the message panel with Cancel and OK is shown automatically with the <af:checkUncommittedDataBehavior/> property, I thought the framework will do the rollback for me. If I need to do rollback manually, how to do it, because I cannot see the JSF related source code for the <af:checkUncommittedDataBehavior/> dialog box. Please suggest what to do
    3. If they press cancel, have the return activity rolling back to the save point taken when the user entered the bounded task flow (edit task flow)
    -- If they press cancel, user stays on the same page, so I will leave future action to the user. This bit is working fine in my app.
    Thanks
    Edited by: user5108636 on Oct 26, 2011 5:23 PM

  • How to link 2 page flow controllers in Workshop

    Hello there,
    I have been playing with rowSet controls and page flows in WorkShop for a few days now and I can see that the creation of both of these is straight forward.
    The question that I have is ... having created the page flow for a given rowSet control, say, "customersController.jpf" -- how can I click on a given row and pass a parameter to, say, "ordersControler.jpf" and have ordersController.jpf query the database based on the parameter passed to it?
    At this point I have these 2 page flows which work okay in isolation. So, we have:
    /customers/customersController.jpf    [custid, name, address, etc]
    /orders/ordersController.jpf    [orderid, date, total, etc]
    I have already managed to pass the custid parameter when clicking on the custid field for a given customer on the customersController.jpf page.
    URL looks something like this:
    http://localhost:7001/myApp/customers/showOrders.do?_autoscope__rowId=customersControllerGridName%7ECUSTID%7E1004
    "showOrders.do" is, of course, an action that calls ordersController.jpf.
    We can see that the customer id (CUSTID) parameter is being passed (1004). Now, how can I modify ordersController.jpf and orders.jcx so that only the orders for customer 1004 are returned by ordersController.jpf? By default, all the order in the database are returned.
    Thanks a million,
    Manuel
    Message was edited by:
    manu_moreno

    Hi manu_moreno,
    You should create an Event handler.
    On the Property Editor, click on the "Event Handler" option.
    On "Add Handler..." you should select "Handle Page Flow Event". This way you can trigger a Page Flow action everytime an action in another portlet is called.
    The parameters I suggest you put on the Session.
    Hope this Helps,
    Pedro Oguri

  • Propagation of Credentials from ADF Pages to BPEL

    It is easy and straightforward to call web services from ADF pages. But I am a bit confused about the security issues around use of BPEL and OWSM with ADF.
    Suppose that I have authenticated against an LDAP to access an ADF page and the page make calls to a BPEL process through a button. As far as I know I should implement security in the web services through OWSM and in this case I can attach an agent to the web service to authenticate against LDAP. (or verify a SAML token)
    Problem: I can't pass credentials to the process from the page. the web service does not receive any SAML token, user name or pass word to authenticate.
    Also please read this for another view of the same problem:
    Security of Web Services, Agents and Sequantial Calling of Web Services
    How can I pass the SAML tokens(propagate identity) along the business process. If I insert SAML token as part of the agent's response steps, the response is not actually passed to the next service but the BPEL. Will the next service receive the SAML token?
    I really appreciate any comments and hints.
    Best Regards,
    Farbod

    Can message handler framework in BPEL Security extension help for this? Does enabling domain and process level security do the trick?
    Regards
    Farbod

  • Facing issue in calling BPEL WebService from ADF page.

    Considering example:
    I have a Login Page (Login.jspx) with two input text, UserID & Password and one Login Button. On press of login Button It will call a BPEL service for validating the user and will return a String value with Success or Failure as value. Depending on this value I will decide inside Managed Bean response will go to which path.
    Took the reference of http://www.oracle.com/technology/obe/fusion_middleware/fusion/adf_wc/10_132_siebel_webcenter/siebel_webcenter.htm
    Using this I am able to call BPEL from my ADF page and able to show the result on different ADF page, but not able to take the BPEL returned value inside the managed bean.
    Please help me how to take BPEL output value inside my managed bean.

    Considering example:
    I have a Login Page (Login.jspx) with two input text, UserID & Password and one Login Button. On press of login Button It will call a BPEL service for validating the user and will return a String value with Success or Failure as value. Depending on this value I will decide inside Managed Bean response will go to which path.
    Took the reference of http://www.oracle.com/technology/obe/fusion_middleware/fusion/adf_wc/10_132_siebel_webcenter/siebel_webcenter.htm
    Using this I am able to call BPEL from my ADF page and able to show the result on different ADF page, but not able to take the BPEL returned value inside the managed bean.
    Please help me how to take BPEL output value inside my managed bean.

  • Single adf task flow portlet with multiple pages and paramter from url

    Hi ,
    I have made a adf task flow portlet with a parameter.
    I have made a portal applcation and added multiple pages . in each of the page I am consuming that portlet through wsrp2.
    I have mapped the task flow parameter in page bindings of the pages with #{param.code}. where code is the get parameter.
    I have edited navigatinoal template so that when i click the pages , code parameter also get added in the url.
    issue
    When I run the applcation and visits first page with get parameter i get the right result. but when i click the on the other page which has some other value for the same get parameter , it doesnt display the value. But the other page shows me correct value if I go this page first but the later page doesnt display any value.
    thanks

    1001446 wrote:
    Hi ,
    I have edited navigatinoal template so that when i click the pages , code parameter also get added in the url.Can you paste the code from the template here?

  • ADF Task Flow: Browse and Edit pages

    Hi,
    My application includes two pages, a Browse page and an Edit page. The Browse page provides the list of departments (read-only table) and allows you to select a department from the list to edit the department details (form).
    How can I develop this common scenario using ADF task flows? Important - I need to display Browse and Edit on two different jsf pages.
    Thanks, Al

    It should be pretty easy.
    1) Create your browse and edit page
    2) drop them onto a task flow
    3) Connect the pages with navigation cases.
    4) Set the ACTION property of a button on the browse page to reference the navigation case that goes to the edit page
    5) Hook up the reverse to go back to the browse page
    Done!

  • Calling ADF page Custom Listener (Ex: ActionListener) from BPM Process Task (APPROVE/REJECT)

    Hi All,
    Jdeveloper version - 11.1.1.7
    I am very new to BPM / SOA development, but I have very good development skills on ADF.
    I am not using ADF BC, using EJB for business services and also using custom ADF pages for HumanTasks.
    Usecase:
    From the BPM Process task, when process submission (APPROVE / REJECT) , I need to invoke a Custom listener (Ex.Action Listener - a EJB call) in the ADF page.
    I am trying to use BPM APIs.
    Please clarify me how this will achieve using BPM APIs. I need detail guidelines to do it. Please make to understand this process.
    Provide some useful documentation or links to understand the following:
    1. Custom Human task pages
    2. BPM APIs - 11.1.1.7
    3. Call a BPM process task from ADF Listener and Call a ADF Listener from BPM Process task - Using BPM APIs.
    Please revert more clarifications needed.
    Thanks and Regards
    Mohanraj N

    Hi Joonas.
    Plese let me explain me better for your understanding
    A big summary for what I meant it's the following:
    1- In the procces you made, when you add the HT activity, you have to implement it, this means declare the input(s) parameters you want. This implementation create the .task file.
    2- Create an application, and projects as HT you have. Each poject are based on the .task file, and automatically create a Data Control (for each project based on a .task) with all you need.
    This w'll be an empty application, so you can customize it all you want. The task selected should have all the parameters previously defined. Those parameters can change if you want.
    2- Create a page(s) in the task flow for the task implementation. You can even split the the payload of the task in differents pages, create your custom pages and any logic you need.
    3- An important aspect is how to match these application with the HT implemented in the process. It's possible, it's a configuration en the Enterprise Manager.
    4- Deploy your application
    All these are explain in the book I mentioned
    Th book you can find it here:
    https://blogs.oracle.com/soacommunity/entry/oracle_soa_suite_11g_handbook_1
    Regards Dariel.
    PS: Please, let me know if you need more details.

  • Bind the output data (Xml) from BPEL process to ADF SelectOneChoice Control

    Hello,
    My requirement is to invoke a BPEL process from ADF page and display returned results in a select one choice (drop down box).
    I have created a Data Control for the BPEL process through Web service data control and tried to invoke the BPEL process. I could see from the BPEL console that BPEL process is getting invoked. But the ADF doesn't bind any of the output to Select one choice.
    It doesn't even show any error.
    Can you plz help me how to bind the output of the BPEL process to ADF SelectOneChoice control.
    The Xml Which I recieve from BPEL process is
    <outputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><DBConnectDemoProcessResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/DBConnectDemo">
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>1</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Assigned</toStatus>
    </StatusTrans>
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>2</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Pending</toStatus>
    </StatusTrans>
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>3</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Closed</toStatus>
    </StatusTrans>
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>4</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Cancelled</toStatus>
    </StatusTrans>
    </DBConnectDemoProcessResponse>
    </part></outputVariable>
    And the toStatus node values viz, Assigned, Pending, Closed, Cancelled should get binded to the SelectOneChoice control
    Waiting for your valuable inputs,
    Regards,
    babloo.

    I have been still trying for the solution. I have modified the XSD created by the jdeveloper to,
    <schema attributeFormDefault="unqualified"
         elementFormDefault="qualified"
         targetNamespace="http://xmlns.oracle.com/StateTransitions"
         xmlns="http://www.w3.org/2001/XMLSchema">
         <element name="StateTransitionsProcessRequest">
              <complexType>
                   <sequence>
                   <element name="input" type="string"/>
                   </sequence>
              </complexType>
         </element>
         <element name="StateTransitionsProcessResponse">
              <complexType>
                   <sequence maxOccurs="unbounded">
    <element name="stateChanges">
    <complexType>
    <sequence>
    <element name="fromState" type="string" />
    <element name="toState" type = "string" />
    </sequence>
    </complexType>
    </element>
    </sequence>
              </complexType>
         </element>
    </schema>
    And I have given this XSD url while creating the Web Service Data Control by deploying it into the Oracle App server.
    So, I can see the tree structure of "Return" as "StateTransitionsProcessResponse->StateChanges->toState,fromState"
    I have binded the toState field of the Data Control to the SelectOneChoice ADF control in a jspx page by using List binding editor.
    I have selected,
    Base data source as "Variables" (Currently I don't need to update any table),
    List Data source as "process: getStateTransitions.process.StateTransitionsProcessResponse.stateChanges" (Web Service Data Control)
    Base Data source attribute as "process_input"
    List Data Source Attribute as "toState"
    I can initiate the web service (BPEL process) by providing the necessary input value like 'Open' or 'Pending' or 'Assigned' but the SelectOneChoice control doesn't populate with any values.
    Waiting for valuable inputs!
    Thanks and Regards,
    babloo.

Maybe you are looking for