Retrieve online file as CSV via HTTPS using PL/SQL procedure

Hi all,
Situation:
Server A (not ORACLE)_: accesed via URL, generates dynamically a CSV file and returns to the requestor.
Server B (ORACLE)_: which runs the PL/SQL script. It is the requestor. Read the CSV and store it within ORACLE.
(1) I want to connect from Server B (ORACLE) to an external URL via HTTPS which generates dynamically the CSV file. Subdomain.domain it is the Server A which contains this CSV file.
https://dubdomain.domain/csv_generator.php?query=q1
(2) This file is downloaded to the Server B (ORACLE). A PL/SQL script executed in this machine do the task.
(3) After that, I load this CSV to an ORACLE table which a common CSV PL/SQL parser.
Doubts:
Is it possible to retrieve an online file (a CSV) dynamically created and hosted in a third party server (Not ORACLE) via HTTPS using a PL/SQL procedure executed in a ORACLE server? If the answer is yes, what technology could I use? Any ideas?
Thanks in advance,
Yago

An CSV example in {message:id=10158148}.
For https, two actions are needed in addition.
Firstly, the certificate of the https web server needs to be loaded in an Oracle Wallet on your database server. The wallet will have a specific directory location on the server, and will be protected by a password.
Secondly, the PL/SQL procedure making web call, needs to open the wallet (using <i>UTL_HTTP.set_wallet</i>) using the location and password. Example of that in {message:id=10820182}.

Similar Messages

  • How can one  read a Excel File and Upload into Table using Pl/SQL Code.

    How can one read a Excel File and Upload into Table using Pl/SQL Code.
    1. Excel File is on My PC.
    2. And I want to write a Stored Procedure or Package to do that.
    3. DataBase is on Other Server. Client-Server Environment.
    4. I am Using Toad or PlSql developer tool.

    If you would like to create a package/procedure in order to solve this problem consider using the UTL_FILE in built package, here are a few steps to get you going:
    1. Get your DBA to create directory object in oracle using the following command:
    create directory TEST_DIR as ‘directory_path’;
    Note: This directory is on the server.
    2. Grant read,write on directory directory_object_name to username;
    You can find out the directory_object_name value from dba_directories view if you are using the system user account.
    3. Logon as the user as mentioned above.
    Sample code read plain text file code, you can modify this code to suit your need (i.e. read a csv file)
    function getData(p_filename in varchar2,
    p_filepath in varchar2
    ) RETURN VARCHAR2 is
    input_file utl_file.file_type;
    --declare a buffer to read text data
    input_buffer varchar2(4000);
    begin
    --using the UTL_FILE in built package
    input_file := utl_file.fopen(p_filepath, p_filename, 'R');
    utl_file.get_line(input_file, input_buffer);
    --debug
    --dbms_output.put_line(input_buffer);
    utl_file.fclose(input_file);
    --return data
    return input_buffer;
    end;
    Hope this helps.

  • Display data in log file using PL/SQL procedure

    Just as srw.message is used in Oracle RDF Reports to display data in log file in Oracle Apps, similarly how it is possible to display data in log file using PL/SQL procedure?
    Please also mention the syntax too.

    Pl post details of OS, database and EBS versions.
    You will need to invoke the seeded FND_LOG procedure - see previous discussions on this topic
    Enable debug for pl/sql
    https://forums.oracle.com/forums/search.jspa?threadID=&q=FND_LOG&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    HTH
    Srini

  • How to insert BLOB datatype image using PL/SQL Procedure and SQL Loader

    Hi,
    How to insert an image into database using PL/SQL Procedure and also how to insert using SQL Loader. Please help by giving sample code and process description.
    Thanks,
    Vijay V

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:232814159006

  • Retrive perticular mail using PL-SQL procedure

    Hi all,
    Anyone knows, how to retrive mails from outlook using PL-SQL procedure?
    Thanks and Regards
    Nilay

    The Java library needed by UTL_TCP is not created properly. You may just run $ORACLE_HOME/rdbms/admin/initplsj.sql as SYS to install it:
    cd $ORACLE_HOME/rdbms/admin
    sqlplus sys/<sys-password> @initplsj.sql

  • How can i return object from oracle in my java code using pl/sql procedure?

    How can i return object from oracle in my java code using pl/sql procedure?
    And How can i returned varios rows fron a pl/sql store procedure
    please send me a example....
    Thank you
    null

    yes, i do
    But i can't run this examples...
    my problem is that i want recive a object from a PL/SQL
    //procedure callObject(miObj out MyObject)
    in my java code
    public static EmployeeObj callObject(Connection lv_con,
    String pv_idEmp)
    EmployeeObj ret = new EmployeeObj();
    try
    CallableStatement cstmt =
    lv_con.prepareCall("{call admin.callObject(?)}");
    cstmt.registerOutParameter(1, OracleTypes.STRUCT); // line ocurr wrong
    //registerOutParameter(int parameterIndex, int sqlType,String sql_name)
    cstmt.execute();
    ret = (EmployeeObj) cstmt.getObject(1);
    }//try
    catch (SQLException ex)
    System.out.println("error SQL");
    System.out.println ("\n*** SQLException caught ***\n");
    while (ex != null)
    System.out.println ("SQLState: " + ex.getSQLState ());
    System.out.println ("Message: " + ex.getMessage ());
    System.out.println ("Vendor: " + ex.getErrorCode ());
    ex = ex.getNextException ();
    System.out.println ("");
    catch (java.lang.Exception ex)
    System.out.println("error Lenguaje");
    return ret;
    Do you have any idea?

  • Use PL/SQL procedure to guard against malformed CSV files before upload

    Hi all,
    In my CSV upload utility, I've implemented error checking procedures, but they are invoked only AFTER data has been uploaded to temp table. This doesn't catch the following sample scenarios:
    1. The CSV is malformed, with some rows shifted due to fields and separators missing here and there.
    2. User has chosen a wrong CSV to upload (most likely number of fields mismatch)
    I'm wondering if it is a good idea to have procedure to read in the CSV, scan each line, count the number of fields (null fields but with delimiters showing the field exist is ok) for each record. If every single record matches the required number of fields for that table, then the CSV is ok, and the insert from external table to temp table is allow. This will ensure at least the CSV file has a valid matrix size for the target table, but rest of error checking is left until after temp table is populated.
    One of my concerns is, I specify "missing field values are null" in the external table parameters, which is necessary since not all fields are required. Does this specification causes a row with missing trailing separators still considered valid? If so then the stored procedure must be programmed to omit such a case.
    What do you think? Many thanks.

    Hi, Cuauhtemoc Amox
    Thank you for your advice. I have set web adi  using PL SQL interface.
    I have decided to go futher
    i have a procedure like that
    procedure delete_old_data ( p_id in number, p_description in varchar2)
    as
    begin
                   begin
                   if g_flag ='N' then
                   delete from xx_test;
                    g_flag='Y';
                    else null;
                    end if;
                    end;
    insert into xx_test (p_id,p_descriptiom);
    end;
    G_FLAG is a global variable with default value ='N'  in my package. When web_adi upload
    first row from excel sheet, then procedure delete all data from table and change g_flag to 'Y'.
    All other rows uploads succesfully; it  works fine.
    But when user change data in excel sheet and try to upload second time. DELETE_OLD_DATA procedure doesnt work in proper way.
    I have found what problem is. when user use same template and try to upload data several times there is same SESSION_ID in database.
    i.e. g_flag ='Y' when user try to upload second time. But when user log off and create template again it is work properly.
    My question is: How i can different upload attempts? May be there is some id for each upload proccess.
    if i can use this ID in my procedure user will have opportunity to use same template.
    Thank you

  • Send Idoc to AS2 System via HTTP using XI

    Hi,
    We need to send Invoice Idocs as XML files from SAP R/3 system to external AS2 system using XI. The communication will happen over HTTP using certificate. I tried using Plain HTTP adapter , but the message went into error 'ATTRIBUTE_CLIENT'. Why this error ?
    I came across some blogs saying about Seeburger AS2 adapter , but is this the only possible way ?
    Kindly guide.
    Thanks.
    Tushar

    Yes , AS2 adapter is the solution for it.
    Refer all the below threads for AS2 information and configuration which need to do for B2B integration:
    SEEBURGER EDI adapter
    Re: Pls.. Help Needed.. Seeburger Mapping Names..!!
    Re: Seeburger AS2 adapter...
    Re: AS2 Module tab.. Mapping Names for modified Standard Msg types ? ? BIC ??
    AS2 adpater-- Configuration details for both SND and RCV.
    AS2 Sender Adapter -- Need few details.

  • Routing of messages to different interfaces via HTTP using one single URL.

    Hi all,
    I'm working on an inbound scenario. Messages are coming to SAP via HTTP adapter and i'm using a unique URL of every interface. But what is required is one single URL for all interfaces without any dropbox in PI, i.e. all messages will be pushed to one URL and i have to route them to their respective interfaces, there is no storage involved in PI box.

    Shamit2903 wrote:
    Hi all,
    >
    > I'm working on an inbound scenario. Messages are coming to SAP via HTTP adapter and i'm using a unique URL of every interface. But what is required is one single URL for all interfaces without any dropbox in PI, i.e. all messages will be pushed to one URL and i have to route them to their respective interfaces, there is no storage involved in PI box.
    logically this is not a possibility.
    But in case you are looking at a generic interface then you will have to handle this using;
    1.  a generic Data type to accommodate all required structures
    2. use conditional routing in configuration to execute further transformations.
    I wouldnt recommend this though.

  • Saving excel file as .csv via OLE program

    Hi all,
    in my abap OLE program i'd like to save an excel file as .csv file with ";" separator according to the frontend settings. Unfortunately the file is saved with "," separator (and not ";").
    Here is the code:
    <<...
         call method of e_newappl 'SAVEAS'
         exporting
           #1 = path
           #2 = '23' ....>>
    I also tried 6, 22, 24 as #2 parameter values, with the same result. Running the program in differents workstations (all with ";" separator in the general settings) sometimes i get a file with ";" and sometimes with ",".
    Is there a way to always get the .csv  file with ";"? Or at least to check what separator will be used?
    Thanks for replies.

    hi,
    please check this similar thread for the answer
    Sample code to download data to .CSV file using OLE method
    thanks

  • Apache is throwing NLS_LANG error when connecting via HTTPS using a DAD

    Our Apache server is throwing this error
    [Wed May  6 11:53:52 2009] [alert] [client 69.246.251.48] [ecid: 223452213192,1] mod_plsql: Unable to issue alter session : alter session set nls_language= "AMERICAN" ""
    every time we connect to the server using HTTPS (the connection is using DAD -- see below for the DAD configuration).
    If we run the same connection using HTTP it works fine.
    Anyone know why this would happen and how we can correct it?
    DAD configuration:
    <Location /plshes>
    SetHandler pls_handler
    Order allow,deny
    Allow from All
    AllowOverride None
    PlsqlDatabaseUsername hes
    PlsqlDatabasePassword @<password here>=
    PlsqlDatabaseConnectString hpprd NetServiceNameFormat
    PlsqlNLSLanguage AMERICAN_AMERICA_WE8ISO8859P1
    PlsqlAuthenticationMode PerPackageOwa
    PlsqlSessionStateManagement StatelessWithFastResetPackageState
    PlsqlErrorStyle ModPlsqlStyle
    PlsqlAlwaysDescribeProcedure Off
    </Location>

    @AMN -- I'm sort of in your camp in that I don't think I should have to remove that line (which I've not been able to test yet, by the way). It's possible removing the line might bypass the issue since the statement will never get issued in the first place, but I will know there is some sort of issue between HTTP and HTTPS that is throwing this error.
    To answer your questions:
    1. The portal database (IASDB) returns:
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CHARACTERSET WE8ISO8859P1
    2. What do you mean by "pls/hes"?
    3b. Which type of OAS? Can you clarify this question? OAS 10g (which means IASDB is version 9i). We run Apache using Webcache. This OAS serves up a custom application written largely in Forms and PL/SQL. Hmmm, maybe that's not what you mean by this question , though...
    3a. Explain our SSL configuration -- I'll try. I configfured this 4 to 5 years ago and haven't changed it at all other than to update the Oracle Wallet certificates every year or two. We have a single physical server that hosts our infrsastructure and mid-tier components and nothing more. As mentioned, Apache is our webserver and we run Oracle's Webcache. The twist in our configuration (and probably the source of this issue we are having is somewhere in this twist) is that we use one physical server and one Apache web server to serve up both HTTP and HTTPS using a virtual host within Apache and then we deifned multiple sites and origin servers with several redirects on various ports so we can handle SSL and non-SSL connections depending on whether they come to us externally (inTERnet) or internally (inTRAnet).
    Webcache sites (hes2 is the server name):
    Site Origin Server
    hes2:7778 hes2:7779
    www.OurWebSite.com:80 hes2:8000
    hes2:80 hes2:7779
    sso.OurWebSite.com:80 hes2:7777
    www.OurWebSite.com:443 hes2:4444
    Webcache origin servers:
    hes2:7777 HTTP
    hes2:7779 HTTP
    hes2:8000 HTTP
    www.OurWebSite.com:4444 HTTPS
    Webcache listen ports:
    443 HTTPS -- has Oracle wallet defined for it
    7778 HTTP
    80 HTTP
    Navigating to http://www.OurWebSite.com will redirect to hes2:8000, which is our virtual server (configuration below). Navigating to https://www.OurWebSite.com will redirect to hes2:4444.
    There is probably a little more I need to provide to answer the "SSL configuration" question, but I think that is enough for now as this is already a long response -- my apologies for that.
    Virtual host configuration in httpd.conf:
    <VirtualHost *:8000>
    ServerName www.OurWebsiteName.com
    ServerAdmin [email protected]
    Port 80
    DocumentRoot "/u01/app1/oracle/10gasm/Apache/Apache/htdocs"
    RewriteEngine on
    RewriteOptions inherit
    RewriteCond %{HTTP_HOST}!^www\.OurWebSite\.com [NC]
    RewriteRule ^/(.*) http://www.OurWebSite.com/$1 [L,R]
    OssoIpCheck off
    OssoConfigFile /u01/app1/oracle/10gasm/Apache/Apache/conf/osso/osso-www.conf
    <Location /portal>
    Order Deny,Allow
    Deny from all
    Allow from (list of allowed IP addresses)
    </Location>
    <Location /forms>
    Order Deny,Allow
    Deny from all
    Allow from (list of allowed IP addresses)
    </Location>
    <Location /discoverer>
    Order Deny,Allow
    Deny from all
    Allow from (list of allowed IP addresses)
    </Location>
    <Directory /u01/app1/oracle/10gasm/Apache/Apache/htdocs/docs>
    Order Deny,Allow
    Deny from all
    Allow from (list of allowed IP addresses)
    </Directory>
    <Directory /u01/app1/oracle/10gasm/Apache/Apache/htdocs/images>
    Order Deny,Allow
    Deny from all
    Allow from (list of allowed IP addresses)
    </Directory>
    <Directory /u01/app1/oracle/10gasm/Apache/Apache/htdocs/optiform>
    Order Deny,Allow
    Deny from all
    Allow from (list of allowed IP addresses)
    </Directory>
    LogLevel error
    ErrorLog "|/u01/app1/oracle/10gasm/Apache/Apache/logs/www_error_log 43200"
    </VirtualHost>

  • Accessing MySQL InnoDB tables via JDBC using Oracle SQL Developer

    I had posted a problem in the Oracle SQL Developer forum with how that application (v1.1) accesses MySQL InnoDB tables and someone replied that the "[data migration] team created the integration with MySQL", so I am posting here in hopes of learning more about the problem.
    Here's a summary:
    When I use Oracle SQL Developer to query MySQL InnoDB tables, I need to issue a "commit" before I do each query to ensure that I am getting current results. Otherwise, it appears to be using a snapshot as-of the last commit. Is this a problem with SQL Developer, or a JDBC configuration, or MySQL problem even?
    The full details are here:
    Re: MySQL InnoDB tables

    Hi,
    I've posted a response to your original thread.
    Regards,
    Dermot.

  • Unable to update BPEL workflow task using pl/sql procedure

    All,
    I am on a project which involves APEX/BPEL integration. There is a need to update a workflow task created using pl/sql block of code.
    This uses the out of the box TaskQueryService webservice calls and I am getting the below exception.
    7,380> <ERROR> <default> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default> <::> Cipher decryption error.
    <2009-11-02 04:21:37,380> <ERROR> <default> <::> Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at com.collaxa.cube.util.DESService.decrypt(DESService.java:74)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at oracle.bpel.services.workflow.verification.impl.VerificationService.decryptString(VerificationService.java:2112)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> ... 33 more
    <2009-11-02 04:21:37,381> <ERROR> <oracle.bpel.services.workflow> <::> Cipher decryption error.
    Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    ORABPEL-00007
    As an alternative I tried to call the procedure from a Java client and it throws the same exceptions (the workflow context is gotten from the Java API call
    workflowContext = taskQueryService.authenticate(WF_MANANAGER_UN, WF_MANANAGER_PW, null, worklistUser);),
    however updating the Task from Java using the ora.bpel library API's works perfectly fine.
    But the client's requirement is to update taskoutcome from pl/sql.
    Please find the exceptions and the code below............. your help is much appreciated.
    Procedure Code and details exceptions below...........:
    REATE OR REPLACE PROCEDURE PR_UPDATE_TASK_FLOW (P_CONTEXT VARCHAR2, P_TASK_ID VARCHAR2)
    AS
    soap_respond VARCHAR2(30000);
    http_req UTL_HTTP.REQ;
    http_resp UTL_HTTP.RESP;
    launch_url VARCHAR2(240);
    l_task_id varchar2(200) := '01647e0505013d7c:25e029b2:124ae1076ef:-7d29';
    l_context varchar2(2000) := '9xReYA5T2NJegzDAVBQl8qNFjFxETMKVK6Y7L5Tz+ZmEG/Mu3BIfABrZG4UeLDlSqqFy/nvYWsjhPoDR+qdgoMBgfEhokt93rPOA/tChlGcI2lOCp5ww0FqKdjii99QFjOjO3c9Vqwghax2h+IvK0hWshBja0lecuc05epm6gpiHt3FFKILOMXbmZ6nR3P+eRAhWsTR7B6FBnw3Xr5QOHQ==';
    l_endpoint_url VARCHAR2(200);
    l_bpel_action VARCHAR2(100);
    l_soap_envelop VARCHAR2(2000) := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/taskService">
    <updateOutcomeOfTasks xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">
    <workflowContext xmlns="http://xmlns.oracle.com/bpel/workflow/common">
    <token xmlns="http://xmlns.oracle.com/bpel/workflow/common">P_CONTEXT</token>
    </workflowContext>
    <taskId xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">P_TASK_ID</taskId>
    <outcome xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">COMPLETE</outcome>
    </updateOutcomeOfTasks>
    </soap:Body>
    </soap:Envelope>';
    BEGIN
    HTTP_REQ:= UTL_HTTP.BEGIN_REQUEST
    TRIM('http://soaapn1.mrc.co.la.ca.us:7777/integration/services/TaskService/TaskServicePort')
    ,'POST'
    ,'HTTP/1.1'
    UTL_HTTP.SET_HEADER(http_req, 'Content-Type', 'text/xml') ;
    UTL_HTTP.SET_HEADER(http_req, 'Content-Length', LENGTH(l_soap_envelop)) ;
    UTL_HTTP.SET_HEADER(http_req, 'SOAPAction', 'updateOutcomeOfTasks');
    UTL_HTTP.WRITE_TEXT(http_req, l_soap_envelop) ;
    http_resp:= UTL_HTTP.GET_RESPONSE(http_req) ;
    UTL_HTTP.READ_TEXT(http_resp, soap_respond) ;
    UTL_HTTP.END_RESPONSE(http_resp) ;
    EXCEPTION WHEN OTHERS THEN
    dbms_output.put_line(sqlerrm);
    END PR_UPDATE_TASK_FLOW;
    EXCEPTION MESSAGE:
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> ORABPEL-30504
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> Internal Error in Verification Service.
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> Internal Error in Verification Service for user {0}. {1}
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> Check the underlying exception and correct the error. Contact oracle support if error is not fixable.
    7,380> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> Cipher decryption error.
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at com.collaxa.cube.util.DESService.decrypt(DESService.java:74)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at oracle.bpel.services.workflow.verification.impl.VerificationService.decryptString(VerificationService.java:2112)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> ... 33 more
    <2009-11-02 04:21:37,381> <ERROR> <oracle.bpel.services.workflow> <::> Cipher decryption error.
    Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    ORABPEL-00007

    All,
    I am on a project which involves APEX/BPEL integration. There is a need to update a workflow task created using pl/sql block of code.
    This uses the out of the box TaskQueryService webservice calls and I am getting the below exception.
    7,380> <ERROR> <default> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default> <::> Cipher decryption error.
    <2009-11-02 04:21:37,380> <ERROR> <default> <::> Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at com.collaxa.cube.util.DESService.decrypt(DESService.java:74)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at oracle.bpel.services.workflow.verification.impl.VerificationService.decryptString(VerificationService.java:2112)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> ... 33 more
    <2009-11-02 04:21:37,381> <ERROR> <oracle.bpel.services.workflow> <::> Cipher decryption error.
    Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    ORABPEL-00007
    As an alternative I tried to call the procedure from a Java client and it throws the same exceptions (the workflow context is gotten from the Java API call
    workflowContext = taskQueryService.authenticate(WF_MANANAGER_UN, WF_MANANAGER_PW, null, worklistUser);),
    however updating the Task from Java using the ora.bpel library API's works perfectly fine.
    But the client's requirement is to update taskoutcome from pl/sql.
    Please find the exceptions and the code below............. your help is much appreciated.
    Procedure Code and details exceptions below...........:
    REATE OR REPLACE PROCEDURE PR_UPDATE_TASK_FLOW (P_CONTEXT VARCHAR2, P_TASK_ID VARCHAR2)
    AS
    soap_respond VARCHAR2(30000);
    http_req UTL_HTTP.REQ;
    http_resp UTL_HTTP.RESP;
    launch_url VARCHAR2(240);
    l_task_id varchar2(200) := '01647e0505013d7c:25e029b2:124ae1076ef:-7d29';
    l_context varchar2(2000) := '9xReYA5T2NJegzDAVBQl8qNFjFxETMKVK6Y7L5Tz+ZmEG/Mu3BIfABrZG4UeLDlSqqFy/nvYWsjhPoDR+qdgoMBgfEhokt93rPOA/tChlGcI2lOCp5ww0FqKdjii99QFjOjO3c9Vqwghax2h+IvK0hWshBja0lecuc05epm6gpiHt3FFKILOMXbmZ6nR3P+eRAhWsTR7B6FBnw3Xr5QOHQ==';
    l_endpoint_url VARCHAR2(200);
    l_bpel_action VARCHAR2(100);
    l_soap_envelop VARCHAR2(2000) := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/taskService">
    <updateOutcomeOfTasks xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">
    <workflowContext xmlns="http://xmlns.oracle.com/bpel/workflow/common">
    <token xmlns="http://xmlns.oracle.com/bpel/workflow/common">P_CONTEXT</token>
    </workflowContext>
    <taskId xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">P_TASK_ID</taskId>
    <outcome xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">COMPLETE</outcome>
    </updateOutcomeOfTasks>
    </soap:Body>
    </soap:Envelope>';
    BEGIN
    HTTP_REQ:= UTL_HTTP.BEGIN_REQUEST
    TRIM('http://soaapn1.mrc.co.la.ca.us:7777/integration/services/TaskService/TaskServicePort')
    ,'POST'
    ,'HTTP/1.1'
    UTL_HTTP.SET_HEADER(http_req, 'Content-Type', 'text/xml') ;
    UTL_HTTP.SET_HEADER(http_req, 'Content-Length', LENGTH(l_soap_envelop)) ;
    UTL_HTTP.SET_HEADER(http_req, 'SOAPAction', 'updateOutcomeOfTasks');
    UTL_HTTP.WRITE_TEXT(http_req, l_soap_envelop) ;
    http_resp:= UTL_HTTP.GET_RESPONSE(http_req) ;
    UTL_HTTP.READ_TEXT(http_resp, soap_respond) ;
    UTL_HTTP.END_RESPONSE(http_resp) ;
    EXCEPTION WHEN OTHERS THEN
    dbms_output.put_line(sqlerrm);
    END PR_UPDATE_TASK_FLOW;
    EXCEPTION MESSAGE:
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> ORABPEL-30504
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> Internal Error in Verification Service.
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> Internal Error in Verification Service for user {0}. {1}
    <2009-11-02 04:21:37,379> <ERROR> <default.collaxa.cube.services> <::> Check the underlying exception and correct the error. Contact oracle support if error is not fixable.
    7,380> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> Cipher decryption error.
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::>
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at com.collaxa.cube.util.DESService.decrypt(DESService.java:74)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> at oracle.bpel.services.workflow.verification.impl.VerificationService.decryptString(VerificationService.java:2112)
    <2009-11-02 04:21:37,380> <ERROR> <default.collaxa.cube.services> <::> ... 33 more
    <2009-11-02 04:21:37,381> <ERROR> <oracle.bpel.services.workflow> <::> Cipher decryption error.
    Failed to decrypt cipher text with transformation "DESede/ECB/PKCS5Padding"; exception reported is Input length (with padding) not multiple of 8 bytes.
    ORABPEL-00007

  • DBI Reports Using PL/SQL Procedure

    Hi all,
    Is there anyone who worked on Creating a DBI report using a PL/SQL Procedure.
    I want to customize a Report that is using Data Source as of type PL/SQL Procedure.
    Please Reply to me If anyone has any Idea on this..
    Thanks in Advance..

    Hi Blushadow
    Now if i want to update say only 10 records at a time what should i put into my Proc?
    Please go thru my Proc below..
    CREATE OR REPLACE PROCEDURE PRTS.UPDT_ISSUE_USR_ROLE
    As
    Cursor cur_user_role Is
    Select a.org_id,a.user_id
    from prts_user a,issue_user_role b
    where a.user_id=b.user_id;
    upd_rec cur_user_role%rowtype;
    v_rows_processed Number:=0;
    Begin
    Open cur_user_role;
    Loop
    Fetch cur_user_role into upd_rec;
    If cur_user_role%NOTFOUND
    Then
    Exit;
    Else
    update Issue_user_role
    set User_org_nm=(Select full_org_nm from VW_Org where org_id=upd_rec.org_id)
    Where Issue_User_Role.rowid in
    (select issue_user_role.rowid
    FROM issue_user_role,issue,issue_workflow,Issue_step_dtl_wrkflw
    Where Issue_User_Role.Issue_Id=Issue.Issue_id
    And Issue_User_Role.Issue_id=issue_workflow.issue_id
    And Issue_User_Role.Workflow_compnt_id=Issue_Workflow.CURR_STEP_WORKFLOW_COMPNT_ID
    And Issue_User_Role.Workflow_compnt_id=Issue_Step_Dtl_wrkflw.Workflow_compnt_id
    And Issue_User_Role.Issue_id=Issue_Step_Dtl_wrkflw.Issue_Id
    And Issue.Issue_id=Issue_workflow.Issue_Id
    And Issue.Issue_id=Issue_Step_Dtl_Wrkflw.Issue_id
    And Issue_workflow.Issue_id=Issue_Step_Dtl_Wrkflw.Issue_id
    And Issue_Workflow.CURR_STEP_WORKFLOW_COMPNT_ID=Issue_Step_Dtl_wrkflw.Workflow_compnt_id
    And issue_workflow.primry_workflow_flag='Y'
    And issue_user_role.user_id = upd_rec.user_id
    And issue.issue_status_id in (1636,50738,275,50737,2090)
    And issue_step_dtl_wrkflw.Issue_step_status_id in (61248,61249,61250));
    v_rows_processed :=v_rows_processed + SQL%ROWCOUNT;
    If Mod (v_rows_processed,v_rows_processed)=10
    then
    COMMIT;
    End if;END IF;
    End Loop;
    Commit;
    dbms_output.enable(1000000);
    dbms_output.put_line('There were '||v_rows_processed||' rows updated');
    Close cur_user_role;
    End;
    I would appreciate if you can let me know any other alternative way to meet this requirment.
    Cheers
    Vineet

  • How to use pl/sql procedure or function as part of validate the entity obj?

    Hi,
    we are migrating from oracle forms to jdeveloper 11g.
    I have a req. that,i wanted to use oracle pl/sql procedure to validate a attribute in an entity created with ADF BC?
    Is it possible to implement this?
    And how to show the error message from pl/sql procedure?
    Regards
    Murali.

    Hi,
    It is possible by using a method validator for the entity attribute.
    Create a transient attribute 'X'.
    In the validation section of the attribute to be validate, choose method validator.
    In the Error Message tab set error message as {0}.
    Below the value for tokentoken should source.X (X is the transient attribute name)
    In the java code of method validator, call the stored procedure and set the value of transient attribute X with the error message from SP.
    Use setX("ErrorMessage").
    Regards,
    Srinidhi

Maybe you are looking for