Custom PLSQL Pkg in BPEL

Hi ,
I would like to know if we can create a DB adapter which can call a custom PLSQL pkg . Any replies will be helpful !! .
Thanks,
Chandu

Absolutley.
This link should be able to help
http://download.oracle.com/docs/cd/E11036_01/integrate.1013/b28994/adptr_db.htm#CHDFBBCD
cheers
James

Similar Messages

  • How to invoke a custom adapter from a BPEL process

    Hi guys,
    I've implemented a custom outbound adapter and deployed successfully on Weblogic V.10.3.4.
    My current installation also consists of Oracle SOA Suite 11g / JDeveloper 11g (11.1.1.4.0)
    In the Weblogic administrator's console,
    *1.* I navigated to:
    Summary of Deployments -> AdapterName -> Configuration -> Outbound Connection Pools
    *2.* Selected: javax.resource.cci.ConnectionFactory and added new JNDI name for Outbound Connection Instance: "*eis/HelloWorld*"
    My task is to invoke the custom adapter from a BPEL process.
    I altered the customAdapter-config.xml so as to be able to use custom adapter wizard from JDeveloper's "Service Adapters" palette,
    and fullfilled the custom adapter wizard's fields accordingly. The 3rd step of the wizard requires Connection Information.
    I added: "*eis/HelloWorld*" in the "*Connection Factory Location*" field.
    Deployed BPEL process successfully, but testing failed due to binding.jca-12510 error:
    "The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/HelloWorld'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/HelloWorld. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server "I tried to apply (just for testing) "eis/FileAdapter" in the "Connection Factory Location" field of the custom adapter wizard,
    and BPEL successfully invoked the adapter.
    Any ideas ?
    Thanks,
    George

    George, What deployment do you have this associated with?
    - D.J.

  • Cal plsql pkg from Java concurrent program

    Hi,
    I try to execute one plsql pkg inside a java concurrent pgm.plsql code executed from view output i got the out put.Bt my status Shows ERROR.
    this is my code
    try{
    System.out.println("transation type inside try block "+deptno);
    CallableStatement cs=con.prepareCall("{call XX_ANE_DEPT2_PKG.XX_ANE_DEPT2_PRC(?,?,?)}");
    cs.setString(1,null);
    cs.setString(2,null);
    cs.setString(3,deptno);
    cs.execute();
    con.commit();
    cs.close();
    //LF.writeln("Generating Programs for Application : " + transactionType, LogFile.STATEMENT);
    //OF.writeln( " Available Concurrent Programs for Application " +transactionType );
    catch(SQLException ex){
    lRC.setCompletion(ReqCompletion.ERROR, ex.toString());
    finally
    pCpContext.releaseJDBCConnection();
    I dont knw why the status is error any one pls help.If it is wrong method any one pls give a sample pgm to cal a PKG in concurrent pgm.
    pls help
    Edited by: aneeshmathew on Dec 28, 2010 4:49 AM
    Edited by: aneeshmathew on Dec 28, 2010 4:49 AM

    Are you able run this concurrent program from form application.? if it erroring out there what error you are getting.
    Thanks

  • How to register a custom plsql code

    Hi
    i have wrritten a custom plsql code for my Overtime entries validation for payroll processing.
    Can any body tell me how to register it in application.
    Secondly i want to get the output file generated by report submission on my desktop.i want to know where the report output files for HR and payroll are stored so that i can get them through FTP.
    Regards

    if you want to integrate your plsql into a fast formula, please download the fast formula guide from metalink. Or ask your functional payroll consultant.
    All reports and processes in Oracle Apps are handled via concurrent programs and requests. When a concurrent request is finished, click on the output button, and depending from the filetype, your browser will take action.
    All concurrent output is also stored on the concurrent server. Ask your apps dba where she mapped the concurrent output directory. But i do not see why you should need this.

  • Implement custom fault handling in bpel

    Hi,
    Can you please provide some link on how to implement custom fault handling in bpel
    Thanks,
    kpr

    See the article below for details on implementing custom fault handling.
    http://beatechnologies.wordpress.com/2011/07/18/fault-handling-in-oracle-soa-suite-advanced-concepts/

  • Custom Identity Service for BPEL

    Hi
    Has anyone created a Custom Identity Service for BPEL workflow authentication.
    Please reply back.
    Thanks
    Mudassar

    Is there a document somewhere that actually describes how to add the plugin to the Process Manager Identity Service? More specifically, requirements for packaging up the plugin module, which folder to place the module in, ALL of the configuration files that need to be updated, etc.?
    So far documents such as the BPEL Developers Guide, BPEL Process Manager Administrator's Guide, and various online sources have been moderately helpful but it seems like there are a lot of missing details as to actually getting a custom Identity Service plugin module working.

  • Create custom fault type in BPEL

    Hi
    Quick question for you all on a sunny Friday in London! Has anyone created a custom fault type in BPEL?
    If so, I'd appreciate a quick how to. I'm guessing it's a case of declaring a new type in your WSDL, but does it have to extend a type or something?
    Many thanks
    Chris

    From a rainy sunday eveving in Holland,
    You just create your own message type. Then you defien in your WSDL the fault, and point it to your own message type.
    In de BPEL process, you just name the name-space and use the Throw activity that uses your message type.
    Marc
    http://orasoa.blogspot.com

  • Error while consuming PLSQL Webservice through BPEL

    HI ,
    I have created a simple PLSQL Web service called "HelloWorld" and it got successfully deployed .
    When I tried to test this webservice through BPEL Process Manager , its showing me error everytime that ( Could not create object of class 'dimple.HelloWorldWebServiceUser'; nested exception is: java.lang.ClassNotFoundException: dimple.HelloWorldWebServiceUser</summary> ) .
    Please anyone help me out with this problem .
    Thanks
    Prashant Dwivedi

    HI ,
    I have created a simple PLSQL Web service called "HelloWorld" and it got successfully deployed .
    When I tried to test this webservice through BPEL Process Manager , its showing me error everytime that ( Could not create object of class 'dimple.HelloWorldWebServiceUser'; nested exception is: java.lang.ClassNotFoundException: dimple.HelloWorldWebServiceUser</summary> ) .
    Please anyone help me out with this problem .
    Thanks
    Prashant Dwivedi

  • Error while invoking custom API using Database Adapter

    Hi,
    I've a requirement where in I need to fetch the data returned by a recordtype of a custom API. I've implemented this by invoking the custom API using Database Adapter. I'm facing a problem while performing this.
    The custom API holds the signature as:
    PROCEDURE EMP_DET
    Argument Name Type      In/Out Default?
    P_DEPTNO NUMBER IN
    L_LINE_TBL TABLE OF RECORD OUT
    I've a schema with which it needs to be validated. It looks like:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:po="http://www.mycompany.com/ns/sales" targetNamespace="http://www.mycompany.com/ns/sales" elementFormDefault="qualified">          
    <element name="EmployeeDetails">          
    <complexType>               
    <sequence>                    
    <element name="EmpNo" type="integer"/>                    <element name="EName" type="string"/>                    <element name="Job" type="string"/>                    <element name="Mgr" type="integer"/>                    <element name="HireDate" type="date"/>                    <element name="Sal" type="decimal"/>                    <element name="Comm" type="decimal"/>               </sequence>          
    </complexType>     
    </element>
    </schema>
    I did a transformation to the above stated Emp.xsd with the xsd created for my custom API by the BPEL process. I could create the process and deploy successfully, but while invoking I get the following error. (I'm using BPM 10.1.3.1 with JDev 10.1.3.1)
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>6502</code>
    </part><part name="summary"><summary>file:/D:/OraBPEL/bpel/domains/default/tmp/.bpel_my_poc_1.0_16c5d0f7b937c780d27d8975726a15cb.tmp/emp_details.wsdl [ emp_details_ptt::emp_details(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'emp_details' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the SCOTT.BPEL_EMP_DETAILS.EMP_PKG$EMP_DET API. Cause: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    [Caused by: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    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 SCOTT.BPEL_EMP_DETAILS.EMP_PKG$EMP_DET API. Cause: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    [Caused by: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
    </summary>
    </part><part name="detail"><detail>
    Internal Exception: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at "SCOTT.BPEL_EMP_DETAILS", line 1
    ORA-06512: at line 1
    Error Code: 6502</detail>
    </part></remoteFault>
    Can someone let me know as to why I'm getting this error? Also lemme know if such an approach is valid to do, if not please suggest me alternate methods to do this.
    Thanks in advance,
    Gayathri

    The 'numeric or value error' is one we have seen many times. The problem has been identified and fixed. Refer to this thread for more information.
    Issue with DB Adapter - ORABPEL-11811

  • Not able to generate AS2 MDN when receiving custom XML via AS2

    Hi friends,
    I have setup the trading partner and the corresponding TP certificate import for receiving the custom XML via AS2 channel.
    I am receiving the custom xml properly to oracle b2b and able to receive the same to bpel as well. however in the oracle b2b console under reports tab i am seeing only one record for inbound document receive and i am not seeing the other record for the AS2 MDN going back to vendor. I have setup the AS2 channel under the external trading partner --> Channel using the vendor AS2 URL and selected all the security parameters while creating the Outbound AS2 channel.
    1. Not able to generate AS2 MDN when receiving custom XML via AS2.
    2. eventhough i am able to decrypt the inbound custom XML and ablr to recieve it in bpel also for processing, in the reports tab the inbound message state is changing to MSG_ERROR and it has the folloing error message:
    Error Code
    B2B-50037
    Error Description
    Machine Info: (***********)  Description: B2B inbound message processing error
    Error Level
    ERROR_LEVEL_COLLABORATION
    for AS2 MDN generation for custom XML receiving using As2 protocol, do we need to setup anything other than the outbound As2 Channel using the external vendor AS2 URL?
    Can you please help me how can i generate the AS2 MDN for the inbound custom XML document i have received and also why the inbound message is failing even though i am receiving the custom XML properly to bpel?
    Thanks,
    Amirineni.

    Hi Prasanna,
    Vendor has enabled the ACK mode as SYNC.
    Below are the headers for the inbound message to B2B. and we are able to receive the input message to bpel also.
    Protocol Transport Binding
    ChannelName=******** AS2-To=****AS2 TE=trailers, deflate, gzip, compress Date=Thu, 02 Oct 2014 14:26:31 GMT AS2-Version=1.2 Accept-Encoding=deflate, gzip, x-gzip, compress, x-compress AS2-From=****AS2 Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1 Disposition-Notification-To=https://******/as2 Message-ID=<CLEO-20141002_142630452-31X54N@****_*****AS2.pcwbedi1-O> Content-type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-length=747006 MSG_RECEIVED_TIME=Thu Oct 02 10:26:39 EDT 2014 Subject=EDI ECID-Context=1.005175bK7U^AXNJCAnf9Cx0002pW000yjX;kXjE1ZDLIPGIj2QCYV8QoKSSILRO_PQT_IS Proxy-Client-IP=****** Recipient-Address=https://******/b2b/httpReceiver User-Agent=RPT-HTTPClient/0.3-3I (Windows 2003) X-Forwarded-For=****** Content-Disposition=attachment; filename="smime.p7m" Host=****** EDIINT-Features=CEM, multiple-attachments, AS2-Reliability Connection=Keep-Alive X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-1497702782 From=****** Mime-Version=1.0
    Message Digest
    Message Digest
    Digest Algorithm
    sha1
    Transport Protocol
    HTTP
    Transport Protocol Version
    1.0
    Url
    http://******
    security
    Transport Headers
    ChannelName=****** AS2-To=******AS2 TE=trailers, deflate, gzip, compress Date=Thu, 02 Oct 2014 14:26:31 GMT AS2-Version=1.2 Accept-Encoding=deflate, gzip, x-gzip, compress, x-compress AS2-From=****AS2 Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1 Disposition-Notification-To=https://******/as2 Message-ID=<CLEO-20141002_142630452-31X54N@****AS2_*****AS2.pcwbedi1-O> Content-type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-length=747006 MSG_RECEIVED_TIME=Thu Oct 02 10:26:39 EDT 2014 Subject=EDI ECID-Context=1.005175bK7U^AXNJCAnf9Cx0002pW000yjX;kXjE1ZDLIPGIj2QCYV8QoKSSILRO_PQT_IS Proxy-Client-IP=***** Recipient-Address=*******/b2b/httpReceiver User-Agent=RPT-HTTPClient/0.3-3I (Windows 2003) X-Forwarded-For=******* Content-Disposition=attachment; filename="smime.p7m" Host=***** EDIINT-Features=CEM, multiple-attachments, AS2-Reliability Connection=Keep-Alive X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-1497702782 From=***** Mime-Version=1.0
    Thanks,
    Amirineni

  • How to design BPEL process where BPEL is called by PL/SQL code?

    Hi,
    My BPEL process is called by a PL/SQL code given below.
    CREATE OR REPLACE PROCEDURE testd(errbuf OUT VARCHAR2,
    retcode OUT VARCHAR2)
    IS
    soap_request VARCHAR2(20000);
    soap_respond VARCHAR2(10000);
    http_req UTL_HTTP.REQ;
    http_resp UTL_HTTP.RESP;
    l_detail VARCHAR2(10000);
    endpoint VARCHAR2(130);
    begin
    endpoint := 'http://afsmlnx04.rheem.com:7105/soa-infra/services/default/HelloWorldPayload/bpelprocess1_client_ep';
    soap_request := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="http://oracle.nl/HelloWorldPayload"><ns1:process><ns1:input>abc</ns1:input></ns1:process></soap:Body></soap:Envelope>';
    http_req := utl_http.begin_request(
    endpoint
    , 'POST'
    , 'HTTP/1.1'
    utl_http.set_header(http_req
    , 'Content-Type'
    , 'text/xml');
    utl_http.set_header(http_req
    , 'Content-Length'
    , length(soap_request));
    utl_http.set_header(http_req
    , 'SOAPAction'
    , 'process');
    utl_http.write_text(http_req, soap_request);
    http_resp := utl_http.get_response(http_req);
    utl_http.read_text(http_resp, soap_respond);
    utl_http.end_response(http_resp);
    dbms_output.put_line('soap'||soap_respond);
    EXCEPTION
    WHEN utl_http.end_of_body THEN
    utl_http.end_response(http_resp);
    WHEN utl_http.request_failed THEN
    DBMS_OUTPUT.PUT_LINE('Request Failed: ' || utl_http.get_detailed_sqlerrm);
    WHEN utl_http.http_server_error THEN
    DBMS_OUTPUT.PUT_LINE('Server Error: ' || utl_http.get_detailed_sqlerrm);
    WHEN utl_http.http_client_error THEN
    DBMS_OUTPUT.PUT_LINE('Client Error: ' || utl_http.get_detailed_sqlerrm);
    WHEN others THEN
    DBMS_OUTPUT.PUT_LINE(sqlerrm);
    END;
    The above procedure will be defined as concurrent program in Oracle EBS.This concurrent program will call the bpel process.My question is how should i design the bpel process so that bpel will know it is called by a concurrent program?
    My BPEL is doing picking a file by FTP adapter and inserting data into a table.
    Please throw some lights on this!!

    Option 1:
    You have to design the service as a synchronous BPEL process
    1. Do a synchronous ftp get to read the file.
    2. Transform and write it into database table
    3. Reply results back to plsql
    Disadvantage: Your BPEL process should complete from BPEL timeout happens.
    Option 2:
    1. Enqueue the message into AQ from the concurrent program
    2. From the BPEL monitor the AQ, start the process when the message arrives
    3. Do a synchronous ftp get to read the file.
    4. Transform and write it into database table
    You cannot reply the results back to concurrent program.
    5. However, you could have another AQ to send the results back to concurrent program.
    6. Your concurrent program should listen to the resultsAQ to get the results back from BPEL.
    Option 2 is a relliable design.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to Use XPATH 2.0 in BPEL Assign/Transform

    Hi,
    I see a lot of Xpath 2.0 functions defined, http://www.w3schools.com/XPath/xpath_functions.asp .
    But I am not able to use most of them in Jdeveloper 11.1.1.3 BPEL Designer.
    Like I tried to use, xp20:distinct-values , xp20:reverse , x20:string-values etc but it is giving error.
    I can use very few xpath functions which are coming in the Assign/Transform activity drop down (during copy operations)
    strangely some Xpath functions do not come in any LOV but still are working fine like : position() , last() etc .
    How can I use other XPath functions? A list of existing Xpath functions are defined here : http://www.w3.org/TR/xpath-functions/
    Am I missing something ? how can I use all the in-built Xpath 2.0 functions in BPEL ?
    Please could you help.
    Thanks and Regards,
    Sudip

    I have tried that too , putting the namespace from Xpath20 in .bpel file , but still it is giving compilation error saying this is not registered.
    It seems SOA 11g BPEL only supports the xpath extension functions written in bpel-xpath-functions.xml file .
    And it does not support any other Xpath2.0 functions like 'distinct-values' 'reverse' etc.
    And there is no other way than writing custom Xpath functions for bpel 11g in order to get distinct-values of a nodeset etc ... are these conclusions correct?
    Please could anybody suggest?
    Thanks and Regards,
    Sudip

  • BPEL error handling

    Hi All,
    I am trying to develop a BPEL which has a while loop to insert 5 records. While inserting the 3rd record its failing(its expected as iam simulating the error scenario). I have a catch block to catch the error.
    In the catch block iam invoking a DB adapter to insert the error details in the error table. And then iam throwing the error using throw activity with rollback to rollback all the previous two records which were inserted.
    Observation: It has rolled back the previous two records which were inserted and also its rolling back the error details record which was inserted in the catch block.
    Can any one tell me how to handle such a situation in BPEL?

    1. You could create Non-XA /Local Data source & use it in db adapter for inserting into error details.. This make sure that error details are committed irrespective of BPEL transaction.
    2. you could create a PLSQL API using autonamous transaction to insert error details and call that PLSQL procedure from BPEL.
    3. You could move logic of inserting into error tables in a different one way async process(which will create a new transaction) and use one way invoke.
    -Sridhar

  • Custom xpath function

    i am creating custom xpath function in jdeveloper(10g).i hav followed every step given in http://prsync.com/oracle/custom-xpath-function-in-bpel--7718.even after configuring jdeveloper,the custom function is nt there in the list of functions.also if anyone can explain the functionality of the mapping(what each element is doing) given in PreBuiltExtensionFunctions.xml file.thanx.
    .

    When I remove entry from $ORACLE_HOME/bpel/system/config/xpath-functions.xml . (
    <function id="getTimeDifference" arity="2">
    <classname>ajr.TimeDifference</classname>
    <comment>
    <![CDATA[The signature of this function is <i>ajr:getTimeDifference(time1, time2)</i>.
          The arguments to the function:
          <ol type="1">
              <li>time1 - String or element containing the datetime of the start of the interval</li>
              <li>time2 - String or element containing the datetime of the end of the interval</li>
          </ol>
          Returns: an XML duration formatted string]]>
    </comment>
    <property id="namespace-uri">
    <value>http://ajr/utilities/xpath</value>
    <comment>Namespace URI for this function</comment>
    </property>
    <property id="namespace-prefix">
    <value>ajr</value>
    <comment>Namespace prefix for this function</comment>
    </property>
    </function>)
    Everything works fine!
    Deploying to http://localhost:8888 domain: default. Please wait....
    [10:37:58 AM] Please check Ant log to determine whether the project deployed successfully.

  • Accessing SOAP Headers in BPEL

    Hi All,
    I have been trying to access a custom soap header in BPEL but in vain.
    I have the header like this in my wsdl
        <wsdl:message name="doTransactionRequest">
            <wsdl:part name="part1" element="tns:doTransaction"/>       
        </wsdl:message>   
        <wsdl:message name="doTransactionHeader">
            <wsdl:part name="teamName" element="tns:myName"/>
        </wsdl:message>
        <wsdl:message name="doTransactionResponse">
            <wsdl:part name="part1" element="tns:doTransactionReply"/>
        </wsdl:message>
        <wsdl:binding name="RequestHandlerProxySoapBinding" type="tns:RequestProxyPortType">
            <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
            <wsdl:operation name="doTransaction">
                <soap:operation soapAction=""/>
                <wsdl:input name="doTransactionInput">
                    <soap:header message="doTransactionHeader" part="teamName" use="literal"/>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output name="doTransactionOutput">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
        </wsdl:binding>In BPEL I have a corresponding header variable defined for the header "teamName".
    Now how do I tell BPEL "receive" to copy the incoming header to this variable ? There is no parameter called "headerVariable" or so for the receive element. As far as I understand, when the soap header "myName" comes, it is copied as a property in the normalized message. Now I need to tell BPEL service engine some how to copy the property to the header variable. But I don't know how to do that.
    I Really need some help. Thanks in advance.
    best regards,
    bala

    I would try defining the soap:header under the <operation> description in your .wsdl
    to look something like this:
    <Input>
    <soap:header message="tns:SessionHeader" part="SessionHeader"/>
    <soap:body message="[yourprocess]RequestMessage"/>
    </Input>
    Then create a variable of the sessionHeader message type and assign it in the adapters tab.
    You'll probably also need to add this namespace to your wsdl:
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/
    I haven't tested this but it should get you on the right track...

Maybe you are looking for