XML input into BPEL Process

Hi,
I am trying to create a BPEL process which receives XML input and then uses this input to insert data into the database.
I have a stored procedure which will accept the input variables and do the insert.
My XML looks like below:
<Acc_type>
<code> ABC </code>
<name> Savings Account </name>
</Acc_type>
My stored Procedure has to input variables - code and name. I have changed the Receive activities, Process Request to include 2 inputs - code and name.
I am not sure what changes need to be made to specify that the input will be in XML and also how to map the XML to the variables.
Also, is it possible to use the same format for the XML as used when you initiate a BPEL Process and select XML Source? If I do this will I still need to make other changes?
Thanks...

Hi,
I have tried implementing the ora:parseEscapedXML function, I have used the following expression to copy the data in the CODE node to my variable also called CODE.
ora:parseEscapedXML(bpws:getVariableData('inputVariable','payload','/client:TestXML2ProcessRequest/client:input','/Acc_Type/code'))
I get the following error message:
ORABPEL-09500 XPath expression failed to execute. Error while processing xpath expression, the expression is "ora:parseEscapedXML(bpws:getVariableData('inputVariable','payload','/client:TestXML2ProcessRequest/client:input','//Acc_Type/code'))", the reason is FOTY0001: type error. Please verify the xpath query.
I am not sure if the format of my expression is correct especially - '/Acc_Type/code'
Please help...

Similar Messages

  • XSD validation for incoming data into BPEL process

    Please suggest how to validate XSD incoming data into BPEL process.
    I just wanted to verify the data before entering into BPEL

    Hi,
    I guess i am replying very late.
    In BPEL 2.0 we have an activity called "Validate" which can do the XSD validations.
    "Lets Learn Oracle SOA: Validate XML schema In BPEL"
    Regards,
    Chinmaya

  • XML format for input to BPEL process from client stub

    Hi,
    I have deployed SyncHelloWorld BPEL process as given in the tutorial in the BPEL Server. It is working fine. Now I am trying to invoke the process by creating a Java client stub . I created a stub using the Web-services wizard by specifying the WSDL of the BPEL. Now I want to know how to pass some string through XML document to the BPEL process.
    I am using this code in the main method of the stub., but the value is not being passed to the BPEL nodes correctly. the output I am getting is "Hello "
    and not "Hello XYZString". I think I am not able to form the XML document to pass as input correctly. Can anyone help.
    Can anyone please help :
    public static void main(String[] args)
    try
    SyncHelloWorldStub stub = new SyncHelloWorldStub();
    // Add your own code here.
    // Create an empty XML document
    XMLDocument doc = new XMLDocument();
    // Create an element
    Element body = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "SyncHelloWorldProcessRequest");
    // Create the inner element
    Element ip = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "input");
    // Create a text node
    Text text = doc.createTextNode("input");
    // Set the input parameter
    text.setNodeValue("XYZString");
    ip.appendChild(text);
    body.appendChild(ip);
    // Call the process. It returns a vector
    Vector v = stub.process(body);
    // Code to print the returned xml.
    System.out.println("Received " + v.size() + " element");
    Enumeration enum = v.elements();
    // Walk through the vector and print out contents
    while (enum.hasMoreElements())
    Object o = enum.nextElement();
    System.out.println("Returned a " + o.getClass().getName());
    //If it is an element, print it out
    if (o instanceof XMLElement)
    XMLElement xml = (XMLElement)o;
    xml.print(System.out);
    else
    System.out.println("Returned " + o.toString());
    System.out.println("After executing : "+v.toString());
    catch(Exception ex)
    ex.printStackTrace();
    This is the code for WSDL file for the BPEL process.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions name="SyncHelloWorld" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/SyncHelloWorld" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/SyncHelloWorld">
    - <types>
    - <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://www.w3.org/2001/XMLSchema">
    - <element name="SyncHelloWorldProcessRequest">
    - <complexType>
    - <sequence>
    <element name="input" type="string" />
    </sequence>
    </complexType>
    </element>
    - <element name="SyncHelloWorldProcessResponse">
    - <complexType>
    - <sequence>
    <element name="result" type="string" />
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    - <message name="SyncHelloWorldRequestMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessRequest" />
    </message>
    - <message name="SyncHelloWorldResponseMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessResponse" />
    </message>
    - <portType name="SyncHelloWorld">
    - <operation name="process">
    <input message="tns:SyncHelloWorldRequestMessage" />
    <output message="tns:SyncHelloWorldResponseMessage" />
    </operation>
    </portType>
    - <binding name="SyncHelloWorldBinding" type="tns:SyncHelloWorld">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="process">
    <soap:operation style="document" soapAction="process" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="SyncHelloWorld">
    - <port name="SyncHelloWorldPort" binding="tns:SyncHelloWorldBinding">
    <soap:address location="http://cisoidd001.corporate.ge.com:5843/orabpel/default/SyncHelloWorld/v2006_06_19__40924" />
    </port>
    </service>
    - <plnk:partnerLinkType name="SyncHelloWorld">
    - <plnk:role name="SyncHelloWorldProvider">
    <plnk:portType name="tns:SyncHelloWorld" />
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Also, while running the BPEL process from console, we can give the input as html or string. Can anyone give the me xml format of the input.
    Any help would be highly appreciated.
    Thanks,
    Debojyoty

    Your last question shows that you might have solved this by now.
    The xml document you are composing in java might not exactly be the xml input bpel excepts. The way to compare is first initiate a process by posting an html message, using the initiate tab for your process in the BPEL console. Check the box "Save as default input" before you send the html request.
    Then again do an initiate from the BPEL console and select "XML Source" instead of "HTML Form". You will see the xml message you just have sent as html.
    You might also want to test your java program with one of the many free soap clients available on the internet.
    HTH,
    Ruerd
    http://www.numericalexample.com

  • ORABPEL-11811 - Error while calling PL/Sql API Into BPEL Process

    Hi,
    I have created a BPEL Process for creating a Order in Oracle using the synchronous process.
    I have followed the below steps.
    1) Created a Stored procedure using the Order Creation API's by passing Recard Type IN parameters.
    2) Created Synchronous BPEL Process and called the above Procedure using APPS Adapter.
    3) Created a xsd file and mapped the input and output parameter values using Transform Activity.
    After the above steps, when I try to run the BPEL process I am getting the below error:
    An error occurred while preparing and executing the APPS.PROC_PROC_NAME API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection
    ORA-06512: at "APPS.PROC_PROC_NAME ", line 149
    ORA-06512: at line 1
    [Caused by: ORA-06531: Reference to uninitialized collection
    ORA-06512: at "APPS.PROC_NAME", line 149
    ORA-06512: at line 1
    ; nested exception is:
    ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the APPS.PROC_PROC_NAME API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection.
    Can anybody help in resolving the error?
    Thanks,
    Mastanvali.

    Here is the API Code..
    CREATE OR REPLACE PROCEDURE XXMAST_PRC(
    arg_in_p_header_rec           IN HeaderObject,
    arg_in_p_line_tbl          IN arrayLines,
    arg_out_x_return_status          OUT VARCHAR2,
    arg_out_order_number          OUT NUMBER,
    arg_out_header_id          OUT NUMBER,
    arg_out_flow_status_code     OUT VARCHAR2
    ) AS
         p_api_version_number          NUMBER;
         x_return_status      VARCHAR2(2);
         x_msg_count      NUMBER;
         x_msg_data      VARCHAR2(2000);
         v_msg_data               VARCHAR2(8000);
         v_msg_index_out               NUMBER(10);
         p_header_rec      OE_ORDER_PUB.HEADER_REC_TYPE;
         p_old_header_rec      OE_ORDER_PUB.HEADER_REC_TYPE;
         p_header_val_rec      OE_ORDER_PUB.Header_Val_Rec_Type;
         p_old_header_val_rec      OE_ORDER_PUB.Header_Val_Rec_Type;
         p_Header_Adj_tbl      OE_ORDER_PUB.Header_Adj_Tbl_Type;
         p_old_Header_Adj_tbl      OE_ORDER_PUB.Header_Adj_Tbl_Type;
         p_Header_Adj_val_tbl      OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
         p_old_Header_Adj_val_tbl      OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
         p_Header_price_Att_tbl      OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
         p_old_Header_Price_Att_tbl      OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
         p_Header_Adj_Att_tbl      OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
         p_old_Header_Adj_Att_tbl      OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
         p_Header_Adj_Assoc_tbl      OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
         p_old_Header_Adj_Assoc_tbl      OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
         p_Header_Scredit_tbl      OE_ORDER_PUB.Header_Scredit_Tbl_Type;
         p_old_Header_Scredit_tbl      OE_ORDER_PUB.Header_Scredit_Tbl_Type;
         p_Header_Scredit_val_tbl      OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
         p_old_Header_Scredit_val_tbl      OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
         p_line_tbl      OE_ORDER_PUB.Line_Tbl_Type;
         p_old_line_tbl      OE_ORDER_PUB.Line_Tbl_Type;
         p_line_val_tbl      OE_ORDER_PUB.Line_Val_Tbl_Type;
         p_old_line_val_tbl      OE_ORDER_PUB.Line_Val_Tbl_Type;
         p_Line_Adj_tbl      OE_ORDER_PUB.Line_Adj_Tbl_Type;
         p_old_Line_Adj_tbl      OE_ORDER_PUB.Line_Adj_Tbl_Type;
         p_Line_Adj_val_tbl      OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
         p_old_Line_Adj_val_tbl      OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
         p_Line_price_Att_tbl      OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
         p_old_Line_Price_Att_tbl      OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
         p_Line_Adj_Att_tbl      OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
         p_old_Line_Adj_Att_tbl      OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
         p_Line_Adj_Assoc_tbl      OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
         p_old_Line_Adj_Assoc_tbl      OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
         p_Line_Scredit_tbl      OE_ORDER_PUB.Line_Scredit_Tbl_Type;
         p_old_Line_Scredit_tbl      OE_ORDER_PUB.Line_Scredit_Tbl_Type;
         p_Line_Scredit_val_tbl      OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
         p_old_Line_Scredit_val_tbl      OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
         p_Lot_Serial_tbl      OE_ORDER_PUB.Lot_Serial_Tbl_Type;
         p_old_Lot_Serial_tbl      OE_ORDER_PUB.Lot_Serial_Tbl_Type;
         p_Lot_Serial_val_tbl      OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
         p_old_Lot_Serial_val_tbl      OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
         p_action_request_tbl      OE_ORDER_PUB.Request_Tbl_Type;
         x_header_rec OE_ORDER_PUB.Header_Rec_Type;
         x_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;
         x_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;
         x_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
         x_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
         x_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
         x_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
         x_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;
         x_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
         x_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
         x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
         x_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;
         x_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
         x_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
         x_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
         x_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
         x_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;
         x_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
         x_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;
         x_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
         x_action_request_tbl     OE_ORDER_PUB.Request_Tbl_Type;
         icount                    NUMBER :=0;
    BEGIN
         fnd_global.apps_initialize(1318,21623,660);
         fnd_client_info.set_org_context(204);
         p_header_rec:= OE_ORDER_PUB.G_MISS_HEADER_REC;
         SELECT OE_ORDER_HEADERS_S.NEXTVAL INTO p_header_rec.header_id FROM DUAL;
         dbms_output.put_line('Header ID          = '|| p_header_rec.header_id);
         p_api_version_number := 1.0;
    ------------------------------------------header code-----------------------------------------------------------------------
              p_header_rec.order_type_id          := arg_in_p_header_rec.order_type_id;
              p_header_rec.sold_to_org_id          := arg_in_p_header_rec.sold_to_org_id;
              p_header_rec.ship_to_org_id          := arg_in_p_header_rec.ship_to_org_id;
              p_header_rec.transactional_curr_code:= arg_in_p_header_rec.transactional_curr_code;
              p_header_rec.order_source_id          := arg_in_p_header_rec.order_source_id;
              p_header_rec.org_id               := arg_in_p_header_rec.org_id;
              p_header_rec.ship_from_org_id          := arg_in_p_header_rec.ship_from_org_id;
              p_header_rec.payment_term_id           := arg_in_p_header_rec.payment_term_id;
              p_header_rec.price_list_id          := 1000;
              p_header_rec.freight_terms_code          := 'Due';     -- Prepay and Add
              p_header_rec.operation               := OE_GLOBALS.G_OPR_CREATE;
              p_header_rec.pricing_date          := SYSDATE;
              p_header_rec.creation_date          := SYSDATE;
              p_header_rec.booked_flag          := 'N';
              p_header_rec.created_by               := 1318;
              p_header_rec.last_updated_by          := 1318;
              p_header_rec.last_update_date          := SYSDATE;
              p_header_rec.invoice_to_org_id          := 1424;
              p_header_rec.version_number          := 1;
              p_header_rec.open_flag               := 'Y';
              p_header_rec.ordered_date          := SYSDATE;
              p_header_rec.flow_status_code          := 'ENTERED';
              p_header_rec.tax_exempt_flag          := 'S';
              p_header_rec.salesrep_id          := -3;
    --------------------------------------------LINES CODE------------------------------------------------------------
         icount := 0;
         for icount in 1 .. arg_in_p_line_tbl.count loop
              p_line_tbl(icount) := Oe_Order_Pub.G_MISS_LINE_REC;
              SELECT OE_ORDER_LINES_S.NEXTVAL INTO p_line_tbl(icount).line_id FROM DUAL;
              dbms_output.put_line('Line ID               = '|| p_line_tbl(icount).line_id);
         p_line_tbl(icount).inventory_item_id          := arg_in_p_line_tbl(icount).inventory_item_id;
         p_line_tbl(icount).ordered_quantity          := arg_in_p_line_tbl(icount).ordered_quantity;
         p_line_tbl(icount).pricing_quantity          := arg_in_p_line_tbl(icount).pricing_quantity;
         p_line_tbl(icount).line_type_id               := arg_in_p_line_tbl(icount).line_type_id;
         p_line_tbl(icount).line_number          := icount;
         p_line_tbl(icount).shipment_number          := arg_in_p_line_tbl(icount).shipment_number;
         p_line_tbl(icount).ship_to_org_id          := arg_in_p_line_tbl(icount).ship_to_org_id;
         p_line_tbl(icount).sold_to_org_id          := arg_in_p_line_tbl(icount).sold_to_org_id;
         p_line_tbl(icount).salesrep_id          := arg_in_p_line_tbl(icount).salesrep_id;
         p_line_tbl(icount).payment_term_id          := arg_in_p_line_tbl(icount).payment_term_id;
              p_line_tbl(icount).price_list_id          := 1000;
              p_line_tbl(icount).operation               := OE_GLOBALS.G_OPR_CREATE;
              p_line_tbl(icount).open_flag               := 'Y';
              p_line_tbl(icount).booked_flag               := 'N';
              p_line_tbl(icount).header_id               := p_header_rec.header_id;
              p_line_tbl(icount).line_category_code          := 'ORDER';
              p_line_tbl(icount).order_quantity_uom          :='Ea';
              p_line_tbl(icount).request_date               := SYSDATE;
              p_line_tbl(icount).schedule_ship_date          := SYSDATE;
              p_line_tbl(icount).ship_from_org_id          := 204;
              p_line_tbl(icount).flow_status_code          := 'ENTERED';
              p_line_tbl(icount).ship_to_customer_id          := 1290;
              p_line_tbl(icount).invoice_to_org_id          := 1424;
              p_line_tbl(icount).tax_exempt_flag          := 'S';
              p_line_tbl(icount).tax_date               := '02-Mar-2005';
              p_line_tbl(icount).tax_code               := 'Location';
              SELECT OE_PRICE_ADJUSTMENTS_S.NEXTVAL INTO p_Line_Adj_tbl(icount).price_adjustment_id FROM DUAL;
              dbms_output.put_line('Price Adjustment ID     = '|| p_Line_Adj_tbl(icount).price_adjustment_id);
              p_Line_Adj_tbl(icount).created_by          := 1318;
              p_Line_Adj_tbl(icount).header_id          := p_header_rec.header_id;
              p_Line_Adj_tbl(icount).line_id               := p_line_tbl(icount).line_id;
              p_Line_Adj_tbl(icount).percent               := 10;
              p_Line_Adj_tbl(icount).operation          := OE_GLOBALS.G_OPR_CREATE;
              p_Line_Adj_tbl(icount).list_header_id          := 8988;
              p_Line_Adj_tbl(icount).list_line_id          := 16596;
              p_Line_Adj_tbl(icount).list_line_type_code     := 'DIS';
              p_Line_Adj_tbl(icount).arithmetic_operator     := 'AMT';
              p_Line_Adj_tbl(icount).updated_flag          := 'Y';
              p_Line_Adj_tbl(icount).update_allowed          := 'Y';
              p_Line_Adj_tbl(icount).applied_flag          := 'Y';
              p_Line_Adj_tbl(icount).automatic_flag          := 'N';
              p_Line_Adj_tbl(icount).OPERAND               := 10;
         end loop;
         oe_msg_pub.initialize;
         oe_order_pub.process_order
              ( p_api_version_number =>      p_api_version_number
              , p_init_msg_list =>      FND_API.G_FALSE
              , p_return_values =>      FND_API.G_FALSE
              , p_action_commit =>      FND_API.G_FALSE
              , x_return_status =>      x_return_status
              , x_msg_count =>      x_msg_count
              , x_msg_data =>      x_msg_data
              , p_header_rec =>     p_header_rec
              , p_old_header_rec =>     p_old_header_rec
              , p_header_val_rec =>     p_header_val_rec
              , p_old_header_val_rec =>     p_old_header_val_rec
              , p_Header_Adj_tbl =>     p_Header_Adj_tbl
              , p_old_Header_Adj_tbl =>     p_old_Header_Adj_tbl
              , p_Header_Adj_val_tbl =>     p_Header_Adj_val_tbl
              , p_old_Header_Adj_val_tbl =>     p_old_Header_Adj_val_tbl
              , p_Header_price_Att_tbl =>     p_Header_price_Att_tbl
              , p_old_Header_Price_Att_tbl =>     p_old_Header_Price_Att_tbl
              , p_Header_Adj_Att_tbl =>     p_Header_Adj_Att_tbl
              , p_old_Header_Adj_Att_tbl =>      p_old_Header_Adj_Att_tbl
              , p_Header_Adj_Assoc_tbl =>     p_Header_Adj_Assoc_tbl
              , p_old_Header_Adj_Assoc_tbl =>      p_old_Header_Adj_Assoc_tbl
              , p_Header_Scredit_tbl =>     p_Header_Scredit_tbl
              , p_old_Header_Scredit_tbl =>     p_old_Header_Scredit_tbl
              , p_Header_Scredit_val_tbl =>     p_Header_Scredit_val_tbl
              , p_old_Header_Scredit_val_tbl =>     p_old_Header_Scredit_val_tbl
              , p_line_tbl =>     p_line_tbl
              , p_old_line_tbl =>     p_old_line_tbl
              , p_line_val_tbl =>     p_line_val_tbl
              , p_old_line_val_tbl =>     p_old_line_val_tbl
              , p_Line_Adj_tbl =>     p_Line_Adj_tbl
              , p_old_Line_Adj_tbl =>     p_old_Line_Adj_tbl
              , p_Line_Adj_val_tbl =>     p_Line_Adj_val_tbl
              , p_old_Line_Adj_val_tbl =>     p_old_Line_Adj_val_tbl
              , p_Line_price_Att_tbl =>     p_Line_price_Att_tbl
              , p_old_Line_Price_Att_tbl =>     p_old_Line_Price_Att_tbl
              , p_Line_Adj_Att_tbl =>     p_Line_Adj_Att_tbl
              , p_old_Line_Adj_Att_tbl =>      p_old_Line_Adj_Att_tbl
              , p_Line_Adj_Assoc_tbl =>     p_Line_Adj_Assoc_tbl
              , p_old_Line_Adj_Assoc_tbl =>      p_old_Line_Adj_Assoc_tbl
              , p_Line_Scredit_tbl =>     p_Line_Scredit_tbl
              , p_old_Line_Scredit_tbl =>     p_old_Line_Scredit_tbl
              , p_Line_Scredit_val_tbl =>     p_Line_Scredit_val_tbl
              , p_old_Line_Scredit_val_tbl =>     p_old_Line_Scredit_val_tbl
              , p_Lot_Serial_tbl =>     p_Lot_Serial_tbl
              , p_old_Lot_Serial_tbl =>     p_old_Lot_Serial_tbl
              , p_Lot_Serial_val_tbl =>     p_Lot_Serial_val_tbl
              , p_old_Lot_Serial_val_tbl =>     p_old_Lot_Serial_val_tbl
              , p_action_request_tbl =>     p_action_request_tbl
              , x_header_rec =>      x_header_rec
              , x_header_val_rec =>      x_header_val_rec
              , x_Header_Adj_tbl =>      x_Header_Adj_tbl
              , x_Header_Adj_val_tbl =>      x_Header_Adj_val_tbl
              , x_Header_price_Att_tbl =>      x_Header_price_Att_tbl
              , x_Header_Adj_Att_tbl =>      x_Header_Adj_Att_tbl
              , x_Header_Adj_Assoc_tbl =>      x_Header_Adj_Assoc_tbl
              , x_Header_Scredit_tbl =>      x_Header_Scredit_tbl
              , x_Header_Scredit_val_tbl =>      x_Header_Scredit_val_tbl
              , x_line_tbl =>      x_line_tbl
              , x_line_val_tbl =>      x_line_val_tbl
              , x_Line_Adj_tbl =>      x_Line_Adj_tbl
              , x_Line_Adj_val_tbl =>      x_Line_Adj_val_tbl
              , x_Line_price_Att_tbl =>      x_Line_price_Att_tbl
              , x_Line_Adj_Att_tbl =>      x_Line_Adj_Att_tbl
              , x_Line_Adj_Assoc_tbl =>      x_Line_Adj_Assoc_tbl
              , x_Line_Scredit_tbl =>      x_Line_Scredit_tbl
              , x_Line_Scredit_val_tbl =>      x_Line_Scredit_val_tbl
              , x_Lot_Serial_tbl =>      x_Lot_Serial_tbl
              , x_Lot_Serial_val_tbl =>      x_Lot_Serial_val_tbl
              , x_action_request_tbl     =>      x_action_request_tbl
         IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
              COMMIT;
         dbms_output.put_line('Return Status - '|| SUBSTR (x_return_status,1,255));
         dbms_output.put_line('------------------------------------');
         dbms_output.put_line('Order Number ==== '|| x_header_rec.order_number);
         dbms_output.put_line('------------------------------------');
              arg_out_x_return_status := x_return_status;
              arg_out_order_number          := x_header_rec.order_number;
              arg_out_header_id          := p_header_rec.header_id;
              arg_out_flow_status_code     := p_header_rec.flow_status_code;
         ELSE
              dbms_output.put_line('Return Status = '|| SUBSTR (x_return_status,1,255));
              dbms_output.put_line('Msg Count = '|| TO_CHAR(x_msg_count));
              dbms_output.put_line('Msg Data = '|| SUBSTR (x_msg_data,1,255));
              IF x_msg_count >1 THEN
                   FOR I IN 1..x_msg_count LOOP
                        Oe_Msg_Pub.get(
                             p_msg_index           => i
                             ,p_encoded           => Fnd_Api.G_FALSE
                             ,p_data           => v_msg_data
                             ,p_msg_index_out      => v_msg_index_out
                        DBMS_OUTPUT.PUT_LINE('v_msg_index_out '|| v_msg_index_out);
                        DBMS_OUTPUT.PUT_LINE('v_msg_data '|| v_msg_data);
                   END LOOP;
              END IF;
         END IF;
    END;
    /

  • Required Attribute style XML input from BPEL

    Hi all,
    We are integrating JDE 811 with BPEL using ORACLE SOA Suite 10133.
    As per the documentation given http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28996/bpel_pm.htm#CDEICHJB, we created the BPEL process to support transacation from BPEL to JDE 811. As given in the document we generated the WSDL in attribute style. For testing the BPEL Process, they have given the XML input in the document in the format of attribute style as given below :
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/GetYearDescription_SYNC">
    <ns1:jdeRequest type="callmethod">
    <callMethod name="GetYearDescription" runOnError="no">
    <params>
    <param name="mnCalendarYear">58</param>
    </params><onError abort="yes"/>
    </callMethod>
    </ns1:jdeRequest>
    </soap:Body>
    </soap:Envelope>
    and the output we received as
    <GetYearDescription_SYNCProcessResponsehttp://xmlns.oracle.com/GetYearDescription_SYNCPSFTcallmethodDV811*ALL>
    <callMethodGetYearDescriptionnourn:iwaysoftware:jde/services/JDEJAVA_CMFGBASE/B3000260/GetYearDescription>
    <params>
    <parammnCalendarYear>58</param>
    <paramszYearDescription>2058</param>
    </params>
    </callMethod>
    </GetYearDescription_SYNCProcessResponse>
    But, if we use the current schema and give input using normal HTML form on the BPELConsole then the error comes like
    WSIF JCA Execute of operation 'GetYearDescription' failed due to: Error in processing the input document.; nested exception is: javax.resource.ResourceException:
    Error in processing the input document.</summary>
    </part><part name="detail"><detail>javax.resource.ResourceException: Error in processing the input document.
    that is why for outbound integration we need to give raw XML during runtime as input to the bpel process in bpel console manually. and that input looks like
    Also in real time scenario, we are receiving the XML input from a third party software/Adapter that may be a flat file/.xml flat file/DB and we need to pass the similar data in BPEL to the JDE 811. Here we are not able to pass the data to JDE as the adapter accepts the input in attribute style XML.
    If we are trying to enter that input through a flat .xml file then it returns no data, as nothing is passed to that process.
    Any idea how we can process this without giving raw xml input manually during run time, means using normal HTML Form.
    if it is not possible then please tell me what will be the required XML that we have to pass as input in that flat file.
    Thanks,
    Anindya

    Hi All,
    SOAP based input is required for any BPEL process for testing in BPEL Console.
    We have created a BPEL process which is successfully receiving data from 3rd party and it is not in a SOAP format.
    That is why we are entering input manually (I have already described input in above post) while testing that BPEL process. and we can receive proper output (i have already specified what i am getting as output in my above post.)
    But in real time scenario we cant give input manually.
    how can we achieve SOAP based invocation during runtime??
    I hope my question is clear to all.
    please suggest me if anybody have any idea about this.
    Regards
    Anindya

  • How to read values from Property file into BPEL process local variable?

    I would like to use a Property file with some parameters e.g.
    <myparm1>12345</myparm1>
    How can I read from a BPEL process such a Property file and assign it into e.g. local variable "intparm1"?
    Where (in which directory) should I put this XML Property file to have it always available for reading?
    Peter

    Hi,
    You can also use
    ora:readFile( ) function as follow :
    ora:readFile(xml file location (ex. "file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xml"),xsd file location (ex."file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xsd"))
    inside the assign activity and assign this to the variable you want.
    regards
    arababah
    Edited by: arababah on Aug 10, 2009 12:55 AM

  • How to read values from Property XMLfile into BPEL process local variable?

    I would like to use a Property file with some parameters e.g.
    <myparm1>
    12345
    </myparm1>
    How can I read from a BPEL process such a Property XML text file and assign it into e.g. local variable "intparm1"?
    Where (in which directory) should I put this XML Property file to have it always available for reading?
    Peter

    Hi,
    You can also use
    ora:readFile( ) function as follow :
    ora:readFile(xml file location (ex. "file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xml"),xsd file location (ex."file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xsd"))
    inside the assign activity and assign this to the variable you want.
    regards
    arababah
    Edited by: arababah on Aug 10, 2009 12:55 AM

  • Invalid xml document for BPEL Process.

    Hi everyone,
    I am getting below error after i set validateXML=strict
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-datatype-valid.1.2.1: '' is not a valid value for 'decimal'.
    Error::cvc-type.3.1.3: The value '' of element 'ns1:p_person_id' is not valid.
    Please make sure that the xml document is valid against your schemas.
    Kindly help me with the steps. I am just a SOA admin, not developer.
    Regards
    Lammeki.

    Ummmm Vikas,
    Lemme bring out a better picture, so u get more clear on this one.
    The developer has upgraded an already deployed BPEL process.
    Since then, she has been facing problem. When she invoke those process they simply end up as faulted with a yellow color ! mark.
    Now i as an admin, i tried everything to help her cos she escalated the issue to me, thinking maybe there is sumthing i could do to assists her.
    Now i am not sure, how to help her, but yes i started with the logs. Both the oc4j container log for SOA and the domain log show the similar error.
    But till then, i didn't know black and white of it. so i tried doing all testing possible from my end.
    When i check on the faulted instances i see there is a Assign activity after Transform followed by Invoked being highlighted in red color. and when i clicked on it i get to see the error
    Assign_41
    [2011/07/21 02:26:15]
    Error in evaluate <from> expression at line "315". The result is empty for the XPath expression : "/ns6:QueryPerAllPeopleOutputCollection/ns6:QueryPerAllPeopleOutput/ns6:EMPLOYEE_NUMBER".
    oracle.xml.parser.v2.XMLElement@1ee216f
    Copy details to clipboard
    [2011/07/21 02:26:15]
    "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.
    - <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    - <part name="summary">
    <summary>
    empty variable/expression result.
    xpath variable/expression expression "/ns6:QueryPerAllPeopleOutputCollection/ns6:QueryPerAllPeopleOutput/ns6:EMPLOYEE_NUMBER" is empty at line 315, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns6:QueryPerAllPeopleOutputCollection/ns6:QueryPerAllPeopleOutput/ns6:EMPLOYEE_NUMBER" is not empty.
    Possible reasons behind this problems are: some xml elements/attributes are optional or the xml data is invalid according to XML Schema.
    To verify whether XML data received by a process is valid, user can turn on validateXML switch at the domain administration page.
    </summary>
    </part>
    </selectionFailure>
    Copy details to clipboard
    So because of that instruction i went ahead and set validateXML=strict
    and that is when i got the error message as below
    Invoke_PerAllPeople
    [2011/07/21 11:47:12]
    Invalid data: The value for variable "Invoke_PerAllPeople_QueryPerAllPeople_InputVariable", part "QueryPerAllPeopleInput_msg" does not match the schema definition for this part.The invalid xml document is shown below:
    oracle.xml.parser.v2.XMLElement@17f54ff
    Copy details to clipboard
    [2011/07/21 11:47:12]
    Faulted while invoking operation "QueryPerAllPeople" on provider "QueryPerAllPeople".
    - <messages>
    - <input>
    - <Invoke_PerAllPeople_QueryPerAllPeople_InputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="QueryPerAllPeopleInput_msg">
    - <QueryPerAllPeopleInput xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/QueryPerAllPeople" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/QueryPerAllPeople">
    <ns1:p_person_id/>
    </QueryPerAllPeopleInput>
    </part>
    </Invoke_PerAllPeople_QueryPerAllPeople_InputVariable>
    </input>
    - <fault>
    - <invalidVariables xmlns="http://schemas.oracle.com/bpel/extension">
    - <part name="code">
    <code>
    9710
    </code>
    </part>
    - <part name="summary">
    <summary>
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-datatype-valid.1.2.1: '' is not a valid value for 'decimal'.
    Error::cvc-type.3.1.3: The value '' of element 'ns1:p_person_id' is not valid.
    Please make sure that the xml document is valid against your schemas.
    </summary>
    </part>
    </invalidVariables>
    </fault>
    </messages>
    Copy details to clipboard
    [2011/07/21 11:47:12]
    "{http://schemas.oracle.com/bpel/extension}invalidVariables" has been thrown.
    - <invalidVariables xmlns="http://schemas.oracle.com/bpel/extension">
    - <part name="code">
    <code>
    9710
    </code>
    </part>
    - <part name="summary">
    <summary>
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-datatype-valid.1.2.1: '' is not a valid value for 'decimal'.
    Error::cvc-type.3.1.3: The value '' of element 'ns1:p_person_id' is not valid.
    Please make sure that the xml document is valid against your schemas.
    </summary>
    </part>
    </invalidVariables>
    Copy details to clipboard
    The main problem was we were observing many SOA inactive threads in one particular database, and they keep building up minutes by minutes.
    I suspect, that in the code connections were open but were not closed, there4 there were inactive threads in the database.
    I had to stop the SOA application, to stop threads from building up. I guess they got build up when they were invoked. There is definitely some fault with the code. or tell me am wrong. tell me its sumthing else.
    However other domains processes were working fine.
    and oh, yes the developer also made changes in the database. when i asked her to revert back and see if it works, she say thats a huge amount of work.
    Finally she end up saying that maybe it could be a problem with the new version.
    Now as a learner, I want to know what is going on, and how do we go about solving it.
    Am not much of a SOA techie. that u can make out. but yes ready to learn things. so there4 i beg you to explain to me like am a standard 3 or 4 kid. any more information needed plz feel free to write back.
    regards
    Lammeki.

  • Assign Statement using EDI 850 XML Problem - No BPEL Process Instantion

    I am currently experiencing the following problem: I receive an EDI 850 message via AQ, and then when I try to copy one of the segments in the message
    to a temporary variable, my BPEL process instantiation never shows up in the BPEL console display, nor does it error out anywhere where I can see.
    Note: if I take out this assign activity, the BPEL process instantiation does show in the console, and does complete.
    Can someone tell me where to look inside of the BPEL engine for any error information and perhaps explain why this situation happens in the first place. Also, if anyone can tell me if my syntax below for the extraction is correct, that would also be great.
    Arthur (203-921-5925)
    </schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <import namespace="http://www.edifecs.com/xdata/100"
    schemaLocation="850.xsd" />
    </schema>
    </types>
    <message name="Header_msg">
    <part name="Header" element="tns:Header"/>
    </message>
    <message name="Transaction-850_msg">
    <part name="Transaction-850" element="imp1:Transaction-850"/>
    </message>
    <variable name="Variable_1" element="ns3:Segment-CTT"/>
    <variable name="Receive_PO_Dequeue_InputVariable"
    messageType="ns1:Transaction-850_msg"/>
    <sequence name="main">
    <receive name="Receive_PO" partnerLink="X12_4010_850_PO_DEQ"
    portType="ns1:Dequeue_ptt" operation="Dequeue"
    variable="Receive_PO_Dequeue_InputVariable" createInstance="yes"
    bpelx:headerVariable="Variable_Receive_X12_4010_850_PO_Hdr"/>
    <assign name="abc_test_assign">
    <copy>
    <from expression="bpws:getVariableData('Receive_PO_Dequeue_InputVariable',
    'Transaction-850','/ns3:Transaction-850/ns3:Loop-CTT/ns3:Segment-CTT')"/>
    <to variable="Variable_1"/>
    </copy>
    </assign>

    Hi Arthur,
    Please verify the namespace in the xml instance matches the xsd used in BPEL. In many cases, the data cannot be copied/transformed successfully if there is a mismatch in namespace.
    Eng

  • Passing files into BPEL processes

    Hi,
    I was wondering if it is possible to pass files of different types (.doc, .jpg etc.) into a BPEL process. If so, are there any documentation and/or examples showing how to do this?
    Thanks

    in 2.0.11, the only way to pass files to BPEL processes is to use base64 encoding.
    we are looking at providing better support for binary attachment in the 10.1.3 Preview 1 release scheduled for March 05.
    Best,
    Edwin

  • Problem invoking BPEL process via SOAP

    Hi,
    I have a BPEL process which runs perfectly when invoked from the BPEL console. Now I try to invoke the BPEL process from another (Java) program and get some strange error message in the client. After enabling debug logging I can see a NullPointerException in the BPEL server log (it's Oracle BPEL server 2.1.2 build 1226).
    Here the output from the console:
    15:21:40,088 INFO [STDOUT] <2006-03-24 15:21:40,088> <DEBUG> <default.collaxa.cube.ws> <CXSOAPProvider::processBPELMessage> soapAction:
    15:21:40,088 INFO [STDOUT] <2006-03-24 15:21:40,088> <DEBUG> <default.collaxa.cube.engine.deployment> <BPELArchive::unpack> Unpacking process 'Customer_Status', revision '1.0' from BPEL archive 'bpel_Customer_Status_1.0.jar'
    15:21:40,098 INFO [STDOUT] <2006-03-24 15:21:40,098> <DEBUG> <default.collaxa.cube.engine.deployment> <BPELArchive::unpack> Extracted archive up-to-date
    15:21:40,158 INFO [STDOUT] <2006-03-24 15:21:40,158> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::create> Creating process 'Customer_Status' (revision '1.0')
    15:21:40,579 INFO [STDOUT] <2006-03-24 15:21:40,579> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::create> Done creating process 'Customer_Status' (revision '1.0')
    15:21:40,589 INFO [STDOUT] <2006-03-24 15:21:40,579> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::clear> Clearing WSDL cache for process Customer_Status1.0
    15:21:40,619 INFO [STDOUT] <2006-03-24 15:21:40,619> <DEBUG> <default.collaxa.cube.ws> loaded custom WSDL Extension oracle.tip.adapter.fw.wsif.jca.JCAExtensionRegistry
    15:21:40,619 INFO [STDOUT] <2006-03-24 15:21:40,619> <DEBUG> <default.collaxa.cube.ws> loaded custom WSDL Extension oracle.tip.adapter.fw.wsif.jca.PCExtensionRegistry
    15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> registered wsdl at http://HAL9000:9700/orabpel/default/Customer_Status/1.0/Customer_Status.wsdl
    15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> got wsdl at: http://HAL9000:9700/orabpel/default/Customer_Status/1.0/Customer_Status.wsdl
    15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <CXSOAPProvider::invoke> Error when process incoming message
    java.lang.NullPointerException
    at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.processBPELMessage(CXSOAPProvider.java:209)
    at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.invoke(CXSOAPProvider.java:114)
    at orabpel.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
    at orabpel.apache.axis.SimpleChain.doVisiting(SimpleChain.java:152)
    at orabpel.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
    at orabpel.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
    at orabpel.apache.axis.server.AxisServer.invoke(AxisServer.java:315)
    at orabpel.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:698)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at orabpel.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
    Any suggestion?
    Thanks in advance...

    This sounds very similar to how my BPEL process behaves. I'm unable to post XML input into the "XML Source" region of the initiate screen unless the input is properly wrapped in the respective message type element.
    Make sure your invoking client code is wrapping the input properly with the message type XML elements.

  • Problem in invoking BPEL Process through JSP

    Hi ,
    I have created a simple BPEL asynchronous process called as " BPELProcessAddMacroTask" .
    JSP File looks like :
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.dispatch.IDeliveryService" %>
    <html>
    <head>
    <title>Invoke AddMacro Task</title>
    </head>
    <body>
    <%
    String EmployeeId = request.getParameter("EmployeeId");
    if (EmployeeId == null)
    %>
    <!-- Construct HTML form here -->
    <h3>Invoke AddMacro Task BPEL Application</h3>
    <h4>Add Macro Task Form</h4>
    <form>
    <table>
    <tr>
    <td>EmployeeId:</td>
    <td><input type="text" name="EmployeeId" value="43"></td>
    </tr>
    <tr>
    <td>TaskName</td>
    <td><input type="text" name="MacroTaskName" value="DIMPLETTE_EXAMPLE"></td>
    </tr>
    <input type="submit" value="Send Input">
    </form>
    <%
    else
    // 1. Get form fields
    //String EmployeeId = request.getParameter("EmployeeId");
    String MacroTaskName = request.getParameter("MacroTaskName");
    // 2. Create loan application XML document
    String xml = "<AddMacroTask xmlns=\"http://xmlns.oracle.com/BPELProcessAddMacroTask\">"
    + "<EmployeeId>" + EmployeeId + "</EmployeeId>"
    + "<MacroTaskName>" + MacroTaskName + "</MacroTaskName>" ;
    // 3. Initiate the BPEL process here
    Locator locator = new Locator("default","bpel");
    IDeliveryService deliveryService = (IDeliveryService)
    locator.lookupService(IDeliveryService.SERVICE_NAME );
    // Construct a normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage();
    nm.addPart("payload", xml);
    // Initiate the BPEL process
    deliveryService.post("BPELProcessAddMacroTask", "initiate", nm);
    %>
    <p>BPEL Process <code>BPELProcessAddMacroTask</code> initiated
    with the input containing EmployeeId=<%= EmployeeId %></p>
    <p>Please refer to the
    BPEL Console
    to see the status of the initiated AddMacroTask BPEL Process.</p>
    <%
    %>
    <body>
    </html>
    I am not finding my " addmacrotask.jsp" in home.jsp even after running "Obant" command .
    I am getting following error when try to invoke the web service :
    My UI Path is : http://localhost:9700/InvokingProcessesUI/addmacrotask.jsp
    I am getting this error :
    Exception Message:
    [java.lang.Exception] Invalid Login. Domain not specified.
    Exception Trace:
    java.lang.Exception: Invalid Login. Domain not specified. at com.collaxa.cube.fe.util.ServletUtils.getLocator(ServletUtils.java:80) at displayInstance.jspService(_displayInstance.java:88) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:103) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534)
    Please someone help me out with this problem .
    Thanks
    Deepika

    Hi ,
    I have set it to this in server.xml :
    <application name="orabpel" path="../../../BC4J/redist/bc4j.ear" auto-start="true" />
    <application name="BPELProcessAddMacroTask" path="D:\BPEL\integration\orabpel\system\appserver\oc4j\j2ee\home\applications\InvokingProcessesUI.ear" parent="orabpel" auto-start="true" />
    </application-server>
    But still not able to create instance . Same problem persists.
    Thanks
    Deepika

  • Date format in BPEL process

    Hi,
    I have a requirement where in the webservice I invoke takes in date in the format 'YYYY-MM-DDTHH:MM:SSZ'. To do this I am taking the current date into say variable_1 ( xp20:current-dateTime() ). which gives me date as _2009-04-02T08:49:04-08:00_ but the actual time is _2009-04-02T09:49:04-08:00_ . This is because of the daylight saving I guess. So for this to give me correct date and time I have embedded java code which takes in the dateTime and gives me the XSD date. The code goes like this
    String xsdDateString = (String)getVariableData("Variable_3");
    addAuditTrailEntry("Output: " + xsdDateString);
    try{
    if (xsdDateString != null || xsdDateString.trim().length() != 0) {
                   javax.xml.datatype.DatatypeFactory factory=null;
                   try {
              factory = javax.xml.datatype.DatatypeFactory.newInstance();
              } catch (javax.xml.datatype.DatatypeConfigurationException e) {
              addAuditTrailEntry("exception: " + e);
              javax.xml.datatype.XMLGregorianCalendar xmlCal = factory.newXMLGregorianCalendar(xsdDateString);
              java.util.GregorianCalendar cal = xmlCal.toGregorianCalendar();
              java.util.Date date = cal.getTime();
              java.text.DateFormat FORMAT = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
                   addAuditTrailEntry("date: " + date);
    setVariableData("Variable_3",FORMAT.format(date)+"Z");
    }catch(Exception e){
    addAuditTrailEntry("exception: " + e);
    This when tested thru java works perfectly correct. I mean when I give the date string as _2009-04-02T08:49:04-08:00_ returns me back _2009-04-02T09:49:04-08:00_. But the same code embedded into BPEL process does not return me the expetced date .It still gives me _2009-04-02T08:49:04-08:00_.
    Did some one come across this . Or can some one help me with this.
    Edited by: user3622266 on Apr 2, 2009 10:04 AM

    All,
    Update on this issue! I had the same issue and the timestamp was logged 1 hr ahead of time in the database tables while using the xp20:current-dateTime() function. However, when I resorted to ora:getCurrentDateTime() BPEL XPath extension function, this issue was resolved and the actual timestamp was logged as expected. I guess, instead of going in for a Java Embedding activity to extract the exact timestamp, we can use the BPEL extension functions to resolve this issue. Also the only difference I could find between these two functions is the timezone value that comes additionally with the xp20:current-dateTime() version.
    Note: I am using SOA Suite 10.1.3.3 which comes bundled with default JDK version 1.5.0_06.
    Thanks!

  • Invoking BPEL process on startup

    Hi there,
    Does anyone have suggestions as to how i can run a BPEL process automatically when BPEL PM starts up? I would prefer not to use external tools. I tried using the OC4J startup classes invoking it via java, but the BPEL engine has not started the processes yet.
    I'm using 10.1.3.3.0
    Thanks
    Edited by: user5535771 on Nov 24, 2008 2:12 PM

    Hi,
    Your current usecase:
    Step 1.java app polls db-->jms topic1 written to that jmsbroker/consumers consume
    Step 2.jms broker receives msgs from topic1-->invokes http post
    Question: It is unclear whether you will have other consumers to this jms msg or not and hence two options.
    Here are the ways to use BPEL with this:
    Option 1:
    If you dont want the current JMS broker but want a JMS provider so other consumers can consume the msg
    1.java app polls db, gets xml msg, puts msgs into Oracle JMS.
    2. Within a bpel process, the jms adapter listens for arrival of msgs on a q/topic and calls http post (inline java exec or http binding)
    For bpel process doing http post refer: for inline java call<bpelhome>/samples/references/javaexec) and "702Bindings" for http binding.
    Application specific JMS headers will be set by the enqueuing client (your java app in this case). In general getting and setting of JMS headers is possible within bpel.
    Option 2:
    If you dont want the current JMS broker and dont care about other msg consumers either
    1. java app polls db, gets xml msg, invokes bpel process thro bpel java api
    Ref: 102.InvokingProcesses
    2. Within the bpel process, the steps are : a) receive msg frm client b) do http post
    Again, if you directly have access to the underlying tables, refer to Option 1 in the previous post.
    Wrt "Also, is there a way that I can make my existing java application to be initialized by a bpel process",
    yes within bpel you can write inline java or do wsif binding to invoke java code.
    You can contact me at [email protected]

  • How to integrate BPEL process with OSB?

    HI,
    I want to expose a web service from OSB and then after doing the initial validation of request,want the request xml to be forwarded to one of my BPEL process from where i would go for business processing with the request xml data.
    Could any one help me here, what are the steps to be followed to integrate BPEL and OSB such that i'll be able to get rquest xml from OSB and reply back the final response to OSB .OSB will respond back to external world.
    I have already exposed my webservice from OSB,but don't know how to forward this req xml to my BPEl process and finally fetch res from BPEL.

    Hi Arik,
    Thanks for Helping me out here. But my problem is when i m communicationg with the BPEl via default wsdl generated by my BPEl process, Through SAO-Direct from OSB.It's looking for binding tag in that WSDl which is not present when i created the BPEl process.
    for eg.
    In BPEl I have genarated a web service whose input and response is based on existing WSDL .This is the same WSDL which has been referred in OSB to intract with external world ( for upstream component who would be calling my web service).
    The default WSDL geneareted by this BPEl does have portType,message,partenerLincType. But it doesnot have binding tag.
    Now ,When i m trying to connect to this BPEl from OSB by creating new business service, while refering to this BPEl wsdl,It's looking for binding tag which is actually not present in default WSDL genarated by BPEL.
    So considering my explained scenario,will you plz help me, where m i going wrong and in this case what are the correct steps i should follow to fullfill me requirement.

Maybe you are looking for