BPEL : Problem Passing Header Values

Hi All,
I am facing problem in calling a web service from BPEL. This web service is anticipating specific values in header for WSA tags such as To, Action, MessageId and so on. I am setting these values for header in Invoke in Bpel. On test console on SOA server I can see these values being passed as a part of Invoke activity but they don't reach the Web Service. SOA suite version is 11.1.1.6
Any input on this would be of great help.
Thanks in Advance!!!
Animesh

"execution just seems to stop" -- by stop you mean the program exits, right? (Not hangs).
How are you handling exceptions? You should have something like
    try {
        ...sql stuff...;
    } catch (SQLException e) {
        log the error with stack trace; // This is the important bit!
    } finally {
        if (results != null)  {
            try {
                results.close();
            } catch (Exception e) {
                log the error;
        ...close statement similarly...;
        ...close db connection similarly or return it to the connection pool...;
        // (I like to have small static close() functions for the
        // common closing patterns to keep the code more concise.)
    }With proper logging, you don't get unexpected silent program exits.
(In command line programs, I like to do "catch(Exception)" or even "catch(Throwable)" at the top level main() function to make sure I get a stack trace; some others dislike such catches. Make your own compromise there.)
Another thing: instead of doing
    workDay(results.getString(1),results.getString(2),results.getString(3), ...do this:
    String worker_name = results.getString(1);
    String job         = results.getString(2);
    String manager     = results.getString(3);
    ...etc...;
    workDay(worker_name, job, manager, ...etc...);Any stack traces will be more informative since the line number will show where the problem is.

Similar Messages

  • How to pass header values as a part of a Message in BPEL Invoke

    Hi,
    I am not able to add my session id in to the header of the request of an invoke activity in a BPEL process.
    Please help.
    Regards,
    En

    I hope you are following the below steps
    Create a variable of xsd type based on what data needs to be send as part of headers and assign the required values to the created variable.
    Assign the created variable to bpelx:inputHeaderVariable property of invoke activity(manually add the property from source view).
    bpelx:inputHeaderVariable="header request variable"
    <invoke name="InvAccountManagement"
    portType="ns6:AccountManagementPortType"
    inputVariable="InvAccountManagementIV"
    outputVariable="InvAccountManagementOV"
    partnerLink="AccountManagement"
    operation="publishAccount"
    bpelx:inputHeaderVariable="headerRequest"/>
    Mark the posting appropriately as "helpful" or "correct answer", if your issue is solved.
    Regards
    Albin I
    [http://www.albinsblog.com/]

  • Problem passing int values to Flash Islands

    ypos isn't the value of the column of hte dataSource itself. It is just an alias to hold the actual column name.  It therefore must be type STRING.  The columns in the dataSource will be created automatically with matching types from the WD Context - so they are int already if the context is type I.  For instance send an alert or check the value of ypos in the debugger.  You will see it contains the context attribute name of the matching column in the dataSource.

    That's clear now, Thomas, thanks for the explanation
    Have a nice day
    Manuel

  • Problem passing a value to a loop through a method?

    I am simply trying to design a program that will offer a pop up menu and prompt the user to enter a digit 1-4. If the user enters a 1,2, or 3 I want the menu to pop up again. If the user enters a 4, I want the program to end.
    I have created stubs for a few of these methods. However, I want to have a working version of the menu method.
    When I run the program the program executes the start_program method stub and then the menu method executes and up pops the menu. However, when I type in a number, the menu disappears never to return...Unless I type in "4" and then the menu pops up again and upon typing "4" again, the program exits.
    I am not sure if I have a poorly constructed loop or if I am improperly returning the value of the variable "number" back to the main method. Here is my code...I appreciate any and all help. Thanks,Ed
    package YMCA;
    import javax.swing.JOptionPane;
    public class YMCA {
    * This is the first phase of our YMCA interface. This phase utilizes a menu and various methods.
    public static void main(String[] args) {
    int number;
    //call start_program method
    start_program();
    //call menu method
    number = menu();
    //while loop to process user number input
    while (number != 4);
    {if (number == 1)
    //call modify_member method
    modify_member();
    else if (number == 2)
    //call modify_registration method
    modify_registration();
    else if (number == 3)
    // call report method
    report();
    //in case of error
    else
    System.out.println("Enter a valid selection");
    //send control back to menu method
    menu();
    //call exit_program method
    exit_program();
    System.exit(0);
    //start_program method
    public static void start_program(){
    System.out.println ("The program has begun");
    //menu method
    public static int menu(){
    String menuOutput, snumber;
    int number;
    menuOutput = "Moon Area YMCA \n" +
    "\n" +
    "1. Add/Modify Member Information \n" +
    "2. Add/Modify Class Registrations \n" +
    "3. Report Section \n" +
    "4. Exit the System \n" +
    "\n" +
    "Please Make Your Selection> \n";
    snumber = JOptionPane.showInputDialog(null, menuOutput);
    //convert string to integer
    number = Integer.parseInt(snumber);
    return number;}
    //modify_member method
    public static void modify_member(){
    System.out.println("Member Information method has been executed.");
    //modify_registration method
    public static void modify_registration(){
    System.out.println("The class registrations method has been executed.");
    //report method
    public static void report(){
    System.out.println("The report method has been executed");
    //exit_program method
    public static void exit_program(){
    System.out.println("The exit program has been executed");
    }

    hi
    here is your working program
    import javax.swing.JOptionPane;
    public class YMCA {
    * This is the first phase of our YMCA interface. This phase utilizes a menu and various methods.
    public static void main(String[] args) {
    int number;
    //call start_program method
    start_program();
    //call menu method
    number = menu();
    //while loop to process user number input
    while (number != 4)
    {if (number == 1)
    //call modify_member method
    modify_member();
    else if (number == 2)
    //call modify_registration method
    modify_registration();
    else if (number == 3)
    // call report method
    report();
    //in case of error
    else
    System.out.println("Enter a valid selection");
    //send control back to menu method
    menu();
    //call exit_program method
    exit_program();
    System.exit(0);
    //start_program method
    public static void start_program(){
    System.out.println ("The program has begun");
    //menu method
    public static int menu(){
    String menuOutput, snumber;
    int number;
    menuOutput = "Moon Area YMCA \n" +
    "\n" +
    "1. Add/Modify Member Information \n" +
    "2. Add/Modify Class Registrations \n" +
    "3. Report Section \n" +
    "4. Exit the System \n" +
    "\n" +
    "Please Make Your Selection> \n";
    snumber = JOptionPane.showInputDialog(null, menuOutput);
    //convert string to integer
    number = Integer.parseInt(snumber);
    return number;}
    //modify_member method
    public static void modify_member(){
    System.out.println("Member Information method has been executed.");
    //modify_registration method
    public static void modify_registration(){
    System.out.println("The class registrations method has been executed.");
    //report method
    public static void report(){
    System.out.println("The report method has been executed");
    //exit_program method
    public static void exit_program(){
    System.out.println("The exit program has been executed");
    }

  • How to see Header values are passed as a part of a Message in BPEL Invoke

    Hi,
    I have passed some session id in the header of a invoke message.
    In Audit trail I am not able to see those header values, its only showing the body of the request passed.
    Is there any way I can see passed Header values also ?
    Regards,
    En

    Refer the below URL for details about seeing the full SOAP message in 11g.
    http://www.albinsblog.com/2012/10/getting-soap-envelope-of.html#.UUrX7TceBBE
    Mark the posting appropriately as "helpful" or "correct answer", if your issue is solved.
    Regards
    Albin I
    [http://www.albinsblog.com/]

  • SWT: Passing text value to Mouse Event

    I am a little new to java and I am having problems passing the value from Text to mouseDown to be used in the event. When I try to place the name variable into mouseDown it says it must be declared final to do this, but if I declare it final then I can't receive the user input, what do I need to change?
    public class SearchForm {
         public SearchForm(Composite parent)
              GridLayout layout = new GridLayout();
         parent.setLayout(layout);
         Label l = new Label(parent, SWT.NONE);
         l.setText("Please Enter a Name: ");
         l.pack();
         Text name = new Text(parent, SWT.BORDER);
         name.pack();
         Button b = new Button(parent, SWT.PUSH);
         b.setText("Search");
         b.setLocation(0,0);
         b.pack();
         b.addMouseListener(new MouseAdapter()
              public void mouseDown(MouseEvent e)
                   /*Ch4_Contributions sw = new Ch4_Contributions();
                   sw.open();*/
         parent.pack();
    }

    I'm not familiar with SWT, but using Swing, the following example works just fine.
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    public class Test {
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    JFrame frame = new JFrame("Test");
                    frame.setLayout(new GridLayout(2, 1));
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    final JTextField testField = new JTextField("Some text");
                    frame.add(testField);
                    JButton testButton = new JButton("Test");
                    testButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                            System.out.println(testField.getText());
                    frame.add(testButton);
                    frame.pack();
                    frame.setVisible(true);
    }

  • Get Custom SOAP Header Value in SOA Suite 11.1.1.6 using BPEL 1.1

    Hi Experts,
    We are using SOA Suite 11.1.1.6 and in one of the projects we have requirement to retrieve custom SOAP header value.
    This is enhancement to existing process which is developed using BPEL 1.1 and deployed to Production. So we cannot convert this now to BPEL 2.0
    We suggested to use custom XML element in Header the definition of which will be defined in custom XSD and stored in common location. However the 3rd party who are invoking this service will not be able to do any customization in their process to pass custom XML header.
    Please can you help me in providing any approach through which we can retrieve custom Header value from SOAP header using BPEL 1.1
    I have read some blogs for retrieving the custom XML header but they are using BPEL 2.0. I would like achieve this functionality using BPEL 1.1
    Appreciate your inputs.
    Thanks in Advance - RK

    Hello RK,
    Have you've tried to put the bpex:outputHeaderVariable on the invoke activity of the invoked service.
    <invoke name="Invoke"
                bpelx:outputHeaderVariable="HeaderVariable"/>
    Where the "HeaderVariable" reflects the XSD Datastructure of the received header.
    This is also specified here in section 6.19.1 How to Receive SOAP Headers in BPEL
    Please note that the exact header must be specified in the WSDL of the invoked service.
    Also note that in case of a soap fault. No header will be returned from the invoked service but only a /soap/body/fault part.
    Good luck!
    Melvin

  • Pass a value from a PL/SQL function to a javascript (html header) ? ?

    Hey Guys,
    Have a question regarding how to pass a value from a PL/SQL function to a javascript in the HTML Header.
    I have created a PL/SQL function in my database, which does looping.
    The reason for this is:  On my apex page when the user selects a code, it should display(or highlight buttons) the different project id's present for that particular code.
    example= code 1
    has project id's = 5, 6, 7
    code 2
    has project id's = 7,8
    Thank you for your Help or Suggestions
    Jesh
    The PL/SQL function :
    CREATE OR REPLACE FUNCTION contact_details(ACT_CODE1 IN NUMBER) RETURN VARCHAR2 IS
    Project_codes varchar2(10);
    CURSOR contact_cur IS
    SELECT ACT_CODE,PROJECT_ID
    FROM ACTASQ.ASQ_CONTACT where ACT_CODE = ACT_CODE1;
    currec contact_cur%rowtype;
    NAME: contact_details
    PURPOSE:
    REVISIONS:
    Ver Date Author Description
    1.0 6/25/2009 1. Created this function.
    BEGIN
    FOR currec in contact_cur LOOP
         dbms_output.put_line(currec.PROJECT_ID || '|');
         Project_codes := currec.PROJECT_ID|| '|' ||Project_codes;
    END LOOP;
    RETURN Project_codes;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NULL;
    WHEN OTHERS THEN
    -- Consider logging the error and then re-raise
    RAISE;
    END contact_details;
    /

    Jesh:
    I have made the following modifications to your app to get it to work as I thing you need it to.
    1) Changed the source for the HTML Buttons Region(note use of id vs name for the Buttons)
    <script>
    function hilitebtn(val) {
    //gray buttons
    $x('graduate').style.backgroundColor='gray'
    $x('distance').style.backgroundColor='gray'
    $x('career').style.backgroundColor='gray'
    $x('photo').style.backgroundColor='gray'
    //AJAX call to get project-ids
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=GETPROJECTS',0);
    get.addParam('x01',val)
    gReturn = get.get();
    var arr=gReturn.split(':');  //dump into array
    get = null;
    for (i=0;i<arr.length;i++) {
    // alert('val=' + arr);
    if ( arr[i]==5)
    $x('graduate').style.backgroundColor='red';
    if ( arr[i]==6)
    $x('distance').style.backgroundColor='red';
    if ( arr[i]==7)
    $x('career').style.backgroundColor='red';
    if ( arr[i]==8)
    $x('photo').style.backgroundColor='red';
    </script>
    <table cellpadding='0' cellspacing='0' border='0'>
    <tr><td>
    <input type='button' id='graduate' value='Graduate'>
    </td>
    <td>
    <input type='button' id='distance' value='Distance'>
    </td>
    <td>
    <input type='button' id='career' value='Career/Tech'>
    </td>
    <td>
    <input type='button' id='photo' value='Photos'>
    </td>
    </tr></table>
    2) Defined the application process  GETPROJECTS as DECLARE
    IDS varchar2(1000);
    l_act_code varchar2(100) :=4;
    begin
    IDS:='';
    l_act_code := wwv_flow.g_x01;
    for x in(
    SELECT ACT_CODE,PROJECT_ID
    FROM ASQ_CONTACT
    where ACT_CODE = l_act_code)
    LOOP
    IDS := IDS || X.PROJECT_ID|| ':' ;
    END LOOP;
    HTP.PRN(IDS);
    END;
    3) Changed the 'onchange' event-handler on p1_act_code to be 'onchange=hilitebtn(this.value)'
    4) Added the JS to the HTML Page Footer <script>
    hilitebtn($v('P1_ACT_CODE'));
    </SCRIPT>

  • How to pass multiple values while invoking bpel process from ADF?

    Hi,
    I want to call a bpel process from my ADF application. The bpel process is having one input parameter. I have created webservice data control by using WSDL url.
    Lets say, I have an Emp multi select table. I drag and drop the data control into Emp table selection facet to create an "Invoke" button.
    I am able to pass single value (lets say Empid) to the bpel process after clicking the "Invoke" button.
    But, my requirement is to pass all the selected values ( as its a multi select table) to the bpel process after clicking the "Invoke" button once.
    How can I achieve this?
    --Abhijit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Hi,
    if the BPEL method that you access allows you to pass arrays or lists, then you can get a list of selectedRowKeys from the table, which then you use to get the value from the underlying binding or the table. This however requires some Java coding instead of directly invoking the executable on the binding layer
    - you create the BPEL method in the binding layer
    - from a Java managed bean you call ADFBindingContext --> get current instance and access Binding container
    - OperationBinding oper = (OperationBinding ) bindings.get("method to invoke");
    oper.gerParamsMap().put("the BPel argument name", value);
    oper.execute();
    - To access the table selected rows
    RowKeySet rks = _table.getSelectedRowKeys();
      //iterate over the set of selected row keys and delete
      //each of the found rows
      Iterator selectedRowIterator = rks.iterator();
      while (selectedRowIterator.hasNext()){
        //get the first key
        Object key = selectedRowIterator.next();
        //make the row current
        _table.setRowKey(key);
        //the row is an instance of the ADF node binding class
        JUCtrlHierNodeBinding rowWrapper = null;
        rowWrapper = (JUCtrlHierNodeBinding) _table.getRowData();
        //get the actual oracle.jbo.Row object
        Row row = rowWrapper.getRow();
        ... get attribute values by calling row.getAttribute("name"); assuming you used ADF BC to build the tableFrank

  • I am facing a problem in passing multiple values as out parameters from fo

    Hi All,
    i am facing a problem in passing multiple values as out parameters from for loop.
    EX:
    i have a select statment inside a loop like.....
    PACKAGE SPEC:
    create or replace PACKAGE EMP_PKG AS
    TYPE TAB_NUM IS TABLE OF SCOTT.EMP.EMPNO%TYPE;
    TYPE TAB_NAME IS TABLE OF SCOTT.EMP.ENAME%TYPE;
    TYPE TAB_JOB IS TABLE OF SCOTT.EMP.JOB%TYPE;
    temp_table TAB_NUM;
    procedure test(temp_TAB_e_no OUT TAB_NUM,
    temp_TAB_e_name OUT TAB_NAME,
    temp_TAB_e_job OUT TAB_JOB);
    END EMP_PKG;
    PACKAGE BODY:
    create or replace PACKAGE BODY EMP_PKG AS
    v_e_no NUMBER;
    procedure test(temp_TAB_e_no OUT TAB_NUM,
    temp_TAB_e_name OUT TAB_NAME,
    temp_TAB_e_job OUT TAB_JOB) IS
    BEGIN
    select EMPNO bulk collect into temp_table from emp;
    for i in 1..temp_table.count loop
    v_e_no := temp_table(i);
    select empno,
    ename,
    job
    into temp_TAB_e_no(i),
    temp_TAB_e_name(i),
    temp_TAB_e_job(i)
    from emp
    where empno = v_e_no;
    end loop;
    end test;
    END EMP_PKG;
    PROBLEM FACING IS:
    I am expecting all rows returning from bellow select statment ...
    select empno,
    ename,
    job
    into temp_TAB_e_no(i),
    temp_TAB_e_name(i),
    temp_TAB_e_job(i)
    from emp
    where empno = v_e_no;
    But,while running the SP , i am getting error like
    ORA-06531: Reference to uninitialized collection
    ORA-06512: at "SCOTT.EMP_PKG", line 16
    why i am not getting all values as out parameters.please provide a solution for me.
    Thanks in advance my friend.

    user9041629 wrote:
    Hi All,
    i am facing a problem in passing multiple values as out parameters from for loop.
    EX:
    i have a select statment inside a loop like.....
    PACKAGE SPEC:
    create or replace PACKAGE EMP_PKG AS
    TYPE TAB_NUM IS TABLE OF SCOTT.EMP.EMPNO%TYPE;
    TYPE TAB_NAME IS TABLE OF SCOTT.EMP.ENAME%TYPE;
    TYPE TAB_JOB IS TABLE OF SCOTT.EMP.JOB%TYPE;
    temp_table TAB_NUM;
    procedure test(temp_TAB_e_no OUT TAB_NUM,
    temp_TAB_e_name OUT TAB_NAME,
    temp_TAB_e_job OUT TAB_JOB);
    END EMP_PKG;
    PACKAGE BODY:
    create or replace PACKAGE BODY EMP_PKG AS
    v_e_no NUMBER;
    procedure test(temp_TAB_e_no OUT TAB_NUM,
    temp_TAB_e_name OUT TAB_NAME,
    temp_TAB_e_job OUT TAB_JOB) IS
    BEGIN
    select EMPNO bulk collect into temp_table from emp;
    for i in 1..temp_table.count loop
    v_e_no := temp_table(i);
    select empno,
    ename,
    job
    into temp_TAB_e_no(i),
    temp_TAB_e_name(i),
    temp_TAB_e_job(i)
    from emp
    where empno = v_e_no;
    end loop;
    end test;
    END EMP_PKG;
    PROBLEM FACING IS:
    I am expecting all rows returning from bellow select statment ...
    select empno,
    ename,
    job
    into temp_TAB_e_no(i),
    temp_TAB_e_name(i),
    temp_TAB_e_job(i)
    from emp
    where empno = v_e_no;
    But,while running the SP , i am getting error like
    ORA-06531: Reference to uninitialized collection
    ORA-06512: at "SCOTT.EMP_PKG", line 16
    why i am not getting all values as out parameters.please provide a solution for me.
    Thanks in advance my friend.Probably not a bad thing that this isn't working for you.
    This is a horrible way to return the contents of a table.
    Are you doing this for educational purpose, or ... what is your goal here? If you just want to return a result set to a client you'd want to look in to using a REF CURSOR and not a bunch of arrays combined with horribly procedural (slow) code.

  • Customer Invoice Header Value Problem

    Hi Expert,
    I have configured Customer Invoice App and it is working fine. But in header value is coming Zero. I couldn't able to under stand what value is passing here, tried changing cost, Accounting value but still it is coming zero. I am attaching the screen shot.
    Any one please help me to get ride of this issue.
    Regards
    Niladri

    Hello Niladri ,
    I am also facing same issue .  Did you get any solution????
    Can any one please help ???
    Regards,
    Akshay

  • Problem with prepared statement where cluase when passing string value.Help

    I am updating a table using the following code. I am using string parameter in where clause. if I use Long parameter in where clause with ps.setLong , this code is working. Is there any special way to pass string value? Am I doing anything wrong?
    ===================
    updateMPSQL.append("UPDATE MP_Table SET ");
         updateMPSQL.append("MPRqmt = ?,End_Dt = ? ");
              updateMPSQL.append("where POS = ? ");
              System.out.println(updateMPSQL.toString());
              con     = getConnection(false) ;
              ps      = con.prepareStatement(updateMPSQL.toString());
              ps.setLong(1,MPB.getMPRqmt());
              ps.setDate(2,MPB.getEnd_Dt());
              ps.setString(3,MPB.getPos());
    result = ps.execute();
              System.out.println("Result : " + result);
    ==========
    Please help me.
    Thanks in advance.
    Regards,
    Sekhar

    doesn't Pos look like a number rather than a string variable?
    if I use Long
    parameter in where clause with ps.setLong , this code
    is working.
    updateMPSQL.append("where POS = ? ");
    ps.setString(3,MPB.getPos());

  • Problem in Passing the value from child window to Parent window.

    Hi Frenz,
    I have a requirement like this. i have to pass a value from child window to parent window to one test field. That text field is not a normal text field.
    It was created like the following as SQL query.
    select
    ''LNo,
    apex_item.text(25,'',0,15,
    'style="width:100px;" onblur="javascript:showUpsell(this.value);" onkeypress="javascript:validateKeyPress(event,this.value,this.id);" onkeyup="javascript:this.value=this.value.toUpperCase();" id="P37_ITEMNO"') ItemNo
    Now i want to pass a value to the Item no from child window.
    i wrote the java script like this,
    opener.document.forms[0].f25.value="100";
    It was not working..Any suggestions for that..
    Thanks in advance

    Dear Baaju,
    How do you redirect your control from Child to Parent window.
    If you use a button to do this, then you can set this value in the branching of page.
    Rana

  • Problem in passing multiple values between reports

    Can anyone help me in passing multiple values in prompts between reports in CRYSTAL REPORTS 2008  using opendoc or any method. I am able to pass single value from main report to second report. but not able to pass multiple values. Plz help me . Thanks in advance

    Hi Ramy,
    How you are passing your prompt values ? where you have created these prompts ? i.e. created these prompts in report level or stored procedure or Add command ?
    Thanks,
    Sastry

  • Problems passing value to an APEX application URL

    Greetings,
    My environment is:
    Apex 4.0.1
    Oracle 11g
    Apex Listener (Weblogic 10g)
    I am trying to pass a value to an Apex application from outside of Apex. Here is the URL I am using:
    http://<servername>:<portno>/apex/f?p=138:2:0::::F138_ID:abcde
    What happens when I enter this URL is the Login page is presented and I can successfully log in. I am directed to page 2 but the value of F138_ID is empty. I have tried it with an application item and a page item but still no value is passed. I have tried creating the page item where the value is populated from the application item. I have tried setting the value in a PL/SQL process. (:P2_ID := :P138_ID;) again no luck.
    Should this work? And if so, does anyone have any idea why it isn’t?
    Thanks for your help,
    Larry

    Thanks Sarvan,
    Unforunatly that did not work. I have been working with it some more and noticed that if the page I am trying to access has an Authentication of 'Page is Public' the passing of the value works as expected. It is only when Authentication is set to 'Page Requires Authentication' (i.e. the user needs to provide a userid and password) that it fails. Do you have any idea how to get around this?
    Thanks
    Larry

Maybe you are looking for