Oracle PL/SQL Package - DB Adapter

Hi All
We have PL/SQL package with more than 20 procedures/functions. We prefer to use Oracle DB Adapter and host as webservices
1. Is there a way to generate a single WSDL/XSD compatible to Oracle DB Adpater for a package ?
2. Should we generate 20 WSDL/XSD for each of these procedures?
Any idea on how could we achieve it cleaner and quicker. It is to make a decision whether we should stick with Oracle DB Adapter or host a simple Java Webservice.
Any comments is appreciable.
Regards
Prasad Jayakumar
Pls Note: I have posted this thread originally in
Oracle PL/SQL Package - DB Adapter

Sorry for the late reply. As you state there is no option to manage multiple operations in a DB Adapter.
To explain my ESB example better, what I mean by this is that you can create a WSDL that has multiple operations, these operations will be based on the procedures in your packages. In your OSB process you can create multiple DB adapters calling the individual procedures of the package. Based on the operation being invoked you can route to the appropriate DB Adapter.
Therefore the pros and cons
PL/SQL Web Service
One service to call multiple procedures in the PL/SQL package
Lacks visibility through the management consoles
If your PL/SQL changes will affect the Web Service implementation which may also all clients calling it.
More of a point to point solution.
OSB
Able to add and remove procedures as required.
Can add procedures and/or functions that are not part of a package
Manage service endpoints if the PL/SQL changes. Meaning 3rd party objects can remain unchanged.
If you have hundreds of procedures in your package it will take long time to create individual adapters.
This is not an exhaustive list but to will get an idea.
cheers
James

Similar Messages

  • JS Validation for Drop down List is not working in Oracle PL/SQL Package

    Hi All,
    I am facing an issue with JavaScript validation done in Oracle PL SQL package.
    System Requirement:
    There is one screen which contains two fields viz. FLD 1 & FLD 2 and one 'Submit' button.
    FLD 1 and FLD 2 fields are drop down list boxes.These are mandatory fields.
    The screen is developed in Oracle Mod PL SQL package.
    The html coding and java scripting are embedded in the respective Oracle PL SQL Package procedure which generates this screen,takes the input values provided by user,does the
    field validations and submits the form.
    Issue:
    The javascript validation for FLD 2 dropdown is working successfully.
    When the user leaves this field as blank,the embedded javascript pops up an error message 'Selection of FLD 2 is manadatory before submitting the form!'.
    As FLD 1 is also a mandatory field,the javascripting validation should pop up the similar error message 'Selection of FLD 1 is manadatory before submitting the form!'.
    But,this first field validation is not at all working.
    The system allows to submit the form even if the 'FLD 1' is left blank.
    The javascript code sysntax for validation of FLD 1 & FLD 2 drop down list boxes as follows:
    function validate_form_fields()
    if (document.forms[0].p_fld_1.selectedIndex == 0))) || (document.forms
    [0].p_fld_1.selectedIndex < 1 )
    alert("Selection of FLD 1 is manadatory before submitting the form!!!");
    return false;
    else if (document.forms[0].p_fld_2.selectedIndex == 0))) || (document.forms
    [0].p_fld_2.selectedIndex < 1 )
    alert("Selection of FLD 2 is manadatory before submitting the form!!!");
    return false;
    return true;
    I am viewing the screen from the web browser IE version 8.0.
    Your timely help will really be appreciated.
    Regards & Thanking in advance,
    Alka

    Hi,
    1. Your problem is actually related to JavaScript, not SQL and PL/SQL. So, this is the wrong forum to post. The closest to JS is the Application Express forum {forum:id=137}. Clearly state that it is not an Apex issue and that you are looking for JS help.
    2. Your JS code, the way you has posted it, is syntactically incorrect, so if you post on Apex forum put the correct code and in tags as described in the FAQ
    {quote}
    function validate_form_fields()
    if (document.forms[0].p_fld_1.selectedIndex == 0))) || (document.forms
    [0].p_fld_1.selectedIndex < 1 )
    alert("Selection of FLD 1 is manadatory before submitting the form!!!");
    return false;
    else if (document.forms[0].p_fld_2.selectedIndex == 0))) || (document.forms
    [0].p_fld_2.selectedIndex < 1 )
    alert("Selection of FLD 2 is manadatory before submitting the form!!!");
    return false;
    return true;
    {quote}
    Regards,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • JDBC calling an Oracle PL/SQL Package?

    Does anyone know how to have JDBC call an Oracle PL/SQL Package?
    Thanks, Jon

    Review the CallableStatement object in the JDBC Developers Guide

  • Hide Oracle PL/SQL Package Body

    Hi there
    I have a PL/SQL Package , and I would to Hide that Package Body to other Database users.
    How would I can hide Package Body in Oracle?
    Regards
    JOJI

    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/wrap.htm#LNPLS01602
    Note : you cannot easily unwrapped the wrapped code. You have to keep a copy of your source in an external deposit location.
    Nicolas.

  • Unable to invoke BPEL HelloWorld from Oracle PL/SQL

    Hi,
    I am trying to invoke a BPEL process (HelloWorld) from Oracle PL/SQL package. I have downloaded the standard "demo_soap.sql" from oracle.com. Find below the PL/SQL block that I am using to invoke to the HelloWorld.
    DECLARE
    req Demo_Soap.request;
    resp Demo_Soap.response;
         zipcode VARCHAR2(100) := 'Suresh';
    BEGIN
    req := Demo_Soap.new_request('initiate',
    'xmlns="http://xmlns.oracle.com/HelloWorld"');
    Demo_Soap.add_parameter(req, 'HelloWorldProcessRequest', 'xsd:string', zipcode);
    resp := Demo_Soap.invoke(req,
    'http://nooslux037t.gl.2wglobal.com:7777/BPELConsole/Dev/displayProcess.jsp?processId=HelloWorld',
    'http://xmlns.oracle.com/HelloWorld');
    END;
    But, it gives the following error message.
    ORA-30625: method dispatch on NULL SELF argument is disallowed
    Please let me know the value that I need to set:
    1. Method name
    2. TargetName space
    3. URL
    4. SOAPaction.
    Please help me in finding the cause for this error and also the solution.
    Thanks

    Hi,
    Thanks for your reply.
    Is there any pre-requiste required for running the Webservice PL/SQL client?
    I tried running the BPEL process as per your input.
    DECLARE
    req demo_soap.request;
    resp demo_soap.response;
         zipcode VARCHAR2(100) := 'XYZ';
    BEGIN
    req := demo_soap.new_request('initiate', 'http://xmlns.oracle.com/HelloWorld');
    demo_soap.add_parameter(req, 'ZipCode', 'xsd:string', zipcode);
    resp := demo_soap.invoke(req, 'http://nooslux037t.gl.2wglobal.com:7777/orabpel/Dev/HelloWorld/1.0','initiate');
    END ;
    But it threw the following error:
    ORA-20000: soapenv:Server.userException - org.xml.sax.SAXException: No custom elements allowed at top level until after the <body> tag
    I have copied my HelloWorld WSDL file for your reference.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions name="HelloWorld" targetNamespace="http://xmlns.oracle.com/HelloWorld" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/HelloWorld" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" 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/HelloWorld">
    - <types>
    - <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/HelloWorld" xmlns="http://www.w3.org/2001/XMLSchema">
    - <element name="HelloWorldProcessRequest">
    - <complexType>
    - <sequence>
    <element name="input" type="string" />
    </sequence>
    </complexType>
    </element>
    - <element name="HelloWorldProcessResponse">
    - <complexType>
    - <sequence>
    <element name="result" type="string" />
    </sequence>
    </complexType>
    </element>
    </schema>
    - <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" schemaLocation="http://nooslux037t.gl.2wglobal.com:7777/orabpel/xmllib/ws-addressing.xsd" />
    </schema>
    </types>
    - <message name="WSAMessageIDHeader">
    <part name="MessageID" element="wsa:MessageID" />
    </message>
    - <message name="HelloWorldRequestMessage">
    <part name="payload" element="tns:HelloWorldProcessRequest" />
    </message>
    - <message name="WSARelatesToHeader">
    <part name="RelatesTo" element="wsa:RelatesTo" />
    </message>
    - <message name="HelloWorldResponseMessage">
    <part name="payload" element="tns:HelloWorldProcessResponse" />
    </message>
    - <message name="WSAReplyToHeader">
    <part name="ReplyTo" element="wsa:ReplyTo" />
    </message>
    - <portType name="HelloWorld">
    - <operation name="initiate">
    <input message="tns:HelloWorldRequestMessage" />
    </operation>
    </portType>
    - <portType name="HelloWorldCallback">
    - <operation name="onResult">
    <input message="tns:HelloWorldResponseMessage" />
    </operation>
    </portType>
    - <binding name="HelloWorldCallbackBinding" type="tns:HelloWorldCallback">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="onResult">
    <soap:operation style="document" soapAction="onResult" />
    - <input>
    <soap:header message="tns:WSARelatesToHeader" part="RelatesTo" use="literal" encodingStyle="" />
    <soap:body use="literal" />
    </input>
    </operation>
    </binding>
    - <binding name="HelloWorldBinding" type="tns:HelloWorld">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="initiate">
    <soap:operation style="document" soapAction="initiate" />
    - <input>
    <soap:header message="tns:WSAReplyToHeader" part="ReplyTo" use="literal" encodingStyle="" />
    <soap:header message="tns:WSAMessageIDHeader" part="MessageID" use="literal" encodingStyle="" />
    <soap:body use="literal" />
    </input>
    </operation>
    </binding>
    - <service name="HelloWorldCallbackService">
    - <port name="HelloWorldCallbackPort" binding="tns:HelloWorldCallbackBinding">
    <soap:address location="http://set.by.caller" />
    </port>
    </service>
    - <service name="HelloWorld">
    - <port name="HelloWorldPort" binding="tns:HelloWorldBinding">
    <soap:address location="http://nooslux037t.gl.2wglobal.com:7777/orabpel/Dev/HelloWorld/1.0" />
    </port>
    </service>
    - <plnk:partnerLinkType name="HelloWorld">
    - <plnk:role name="HelloWorldProvider">
    <plnk:portType name="tns:HelloWorld" />
    </plnk:role>
    - <plnk:role name="HelloWorldRequester">
    <plnk:portType name="tns:HelloWorldCallback" />
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Please help me in finding the correct values for the below parameters.
    1. Operation Name
    2. SOAPAction.
    Thanks

  • How to debugg and find wrong statements and correct in Oracle PL/SQL

    Hi friends,
    Any1 can guide me, how to debug oracle PL/SQL package, and have to fix bugs or changing the requirement by using toad, sometimes i resolve the problem, and i take backup in notepad, after sometime if i use the same notepad contents, the something changed, i dont no how to keep the "IF loop" correctly, Sometimes while editing, the loop nevigation changes, so that i am getting more confusions. I dont no how to correct the packages already written, and how to solve problems, i use anonymous for seeing output. Dont no how to identify and fix the bug or requirement changes,. I am not sure where the code need changes. How to test properly for fixing the bugs, and how to change the logic, any1 help me out from this,... kindly give me good solution.. thnak you in advance

    Hi,
    you seem a little confused with your previous posts:
    956684 wrote:
    Hi, Friends,
    I have 4+ years experience in oracle plsql developer,
    956684 wrote:I am newly changed the technology into oracle PL/SQL developer,In one (3-Sep-2012) you said you have 4+ years experienced in PL/SQL developer, in the other (17-Nov-2012) you said you are new to PL/SQL developer.
    The kind of question you are posting shows that you have little experience and you have been thrown in a sort of "training on the job" which is a bit scary to my opinion.
    Other users have already posted their opinion. Oracle documentation, available online is a good source of information. I've learnt a lot reading it.
    But what is really important it try to work in a rational way:
    a) understand business , business requirement and data model.
    b) organize your job in a "safe" way. Version control is mandatory!! You cannot avoid it.
    c) Be clean and organized in your coding. Spaghetti coding doesn't lead you anywhere. And never miss documenting your code.
    d) Whenever you have a question constantly check Oracle documentations, Oracle forums, internet. Having web access is a great advantage of our days, you have all you need on your fingertips.
    If I can give you my humble opinion, learning is a slow path. You don't become expert in one day. It's a matter of learning and experiencing day by day.
    One last thing. Writing message like this:
    Any1 can guide me, how to debug oracle PL/SQL package, and have to fix bugs or changing the requirement by using toad, sometimes i resolve the problem, and i take backup in notepad, after sometime if i use the same notepad contents, the something changed, i dont no how to keep the "IF loop" correctly, Sometimes while editing, the loop nevigation changes, so that i am getting more confusions. I dont no how to correct the packages already written, and how to solve problems, i use anonymous for seeing output. Dont no how to identify and fix the bug or requirement changes,. I am not sure where the code need changes. How to test properly for fixing the bugs, and how to change the logic, any1 help me out from this,... kindly give me good solution.. thnak you in advanceis not nice. Your message looks confusing, a single paragraph, approximate English.
    Being clean and organized in your job is shown also in your messages. If you post your message in a clear and well written (and formatted) way you will have more chances to get an answer.
    Regards.
    Al

  • Generate Java option for PL SQL packages

    Hi
    I recently found out that there is a 'generate java' option in the JDeveloper IDE for PLSQL packages, which creates a Java representation of the PLSQL package.
    What is the use of doing this? can anyone share tutorials that makes use of this feature

    This link may helpful
    Oracle PL/SQL Package - DB Adapter

  • VStudio is crashing while debugging Oracle PL/SQl scripts from VS

    Hi all,
    I am using Visual Studio 2008 and Oracle11g, ODTwithODAC1110620 for debugging Oracle PL/SQL packages from Visual Studio. My solution has several C# projects and a big chunk of Oracle package. I have configured visual studio and able to debug the scrips. But, while debugging the scripts, all of a sudden, solution gets closes automatically and nothing that I can do other than opening the solution and do it again. It seems weird and I could not trace out what went wrong.
    But, I could see few errors in event viewer and below is the description.
    *".NET Runtime version 2.0.50727.3623 - Fatal Execution Engine Error (7A2F8992) (0)"*
    Please suggest me how to resolve the issue and let me know if further information is required.
    My apologies, if this is not the proper area to post this issue and suggest me where I can get help in this regards. Thanks in advance.
    Regards,
    Kumar

    Hi,
    Thanks for the response and below is the information as required.
    Machine details: Microsoft Windows XP Professional Version 2002 Service Pack 3 (Desktop)
    Oracle Version: Oracle 11.1.0.6.0 client, Oracle Data Provider for .NET 10.2.000 and Oracle Developer Tools for Visual Studio 11.1.0620.
    Please let us know your feedback on this.
    Regards,
    Kumar

  • Performance of PL/SQL-packages under Oracle 11gR2

    Under Oracle 9i I have used PL/SQL-packages/procedures to perform complicated initializations of the tables of a database schema.
    This was always a long job ... but an execution time of about 4 hours was acceptable!
    Now I changed to Oracle 11g.
    And now there is the following behaviour:
    When I create a NEW instance of the database and then create the schema the execution time ( using the same PL/SQL-packages as in Oracle 9i ) is more than 12 hours which is not acceptable anymore!
    When I only drop the schema ( in the EXISTING instance ) with a drop user (owner of the schema) cascading and then create the schema again the execution time for the same initialization is less than 3 hours which is OK.
    Does anyone have an idea about the reason for such a 'strange' behaviour?
    ... Or does anyone have a hint where I could look for such reasons?

    Hi,
    did you compare the execution plan in 9i and 11g R2?
    when you go to 11gR2, did you keep the statistic of the 9i, so if any regression, 11g can use 9i plan?
    thanks

  • Where is the oracle.xml.sql.query package?

    Hi,
    I have downloaded the xmlparser_v2_0_2_9.zip. I hoped I have everything to compile the example for retrieving XML document with an sql query. However, the jar file is missing the entire package oracle.xml.sql.query which contains for instance the crucial class OracleXMLQuery. Does anyone know where I could get this package - is it part of another download that I have to do, or can I buy it anywhere? Thanks for your help.
    Karel

    It's part of the XML SQL Utility for Java, avialable for download from http://technet.oracle.com/tech/xml

  • Invoke oracle report 10g from database pl/sql package

    Hi
    Is there a way that i can invoke an oracle report 10g from the database pl/sql package? I am working on a requirement that needs to generate a report when one of the criteria is not met.
    Please suggest me on this.

    Thanks for the info.
    I have a scenario where i need to fetch members details like name , email address and so on from the mainframes on the oracle database. Then on the oracle database i need to check if they have a email address or not. If yes then i need to generate a notice and mail it to them. If they don't have an email address, i'll have to print that out in a some centralized location.
    By the way, the notice was developed using oracle reports 10g.
    Now i am developing a pl/sql package which will do the address validation but i didn't know how to call a oracle report to generate the notice in pl/sql procedure.
    As suggested i will try with dbms scheduler and see if that works for me.

  • Where can i download oracle.sql package?

    Hi!
    Can u please help me in finding out the site from where I can download oracle.sql.package.I need this for inserting images into the database using oracle.sql.BLOB class.I tried with java.sql.Blob.But I failed.can u please help me?
    Thank u,
    Ramana

    hello f.ahmed, in regards to the suggestion as how to import the oracle.sql package. I found the zip file and put the path to that zip file into my classpath. I even tried to unzip it. I still get compiliation errors in JSP telling me that they cannot find the oracle.sql.* package. Can you please tell me what i am doing wrong? Thanks for your time

  • Oracle Reports with PL/SQL package in before Trigger

    I have an oracle report which is set to run as a concurrent program in Oracle Apps. My before report trigger calls a pl/sql package. I am debating using errbuf and retcode, since I have not defined the pl/sql package as a concurrent program. But if I do add errbuf and retcode to the pl/sql package parameters, how do I call them in the trigger.
    function BeforeReport return boolean is
    begin
    delete from XXDK_SAMS2_MEAN_RATIO;
    delete from XXDK_SALES_RATIO_TOTALS;
    commit;
    XXDK_SAMS2_SALES_RATIO_RPT_PKG.INSERT_SALES*(:errbuf, :retcode*, :neighborhood, :salefrom, :saleto, :verfrom, :verto, :tax,
    :deed1, :deed2, :deed3, :tran1, :tran2, :tran3, :accnttype);
    return (TRUE);
    end;
    And do I add errbuf and ret code as paramters in the registered setup?

    Hi,
    please see if the code in these documents help.
    Note: 73492.1 - Creating a PL/SQL Concurrent Program in Oracle Applications
    Note: 221542.1 - Sample Code for FND_SUBMIT and FND_REQUEST API's
    Regards,
    Hussein

  • Publish PL/SQL package as a web service without using Oracle AS?

    Hello, my question is:
    Can I publish a PL/SQL package as a web service in Oracle10g directly from the
    database and/or the oracle http server, without needing Oracle Application
    Server?
    Thank you in advance.

    Hi,
    there is a tutorial:
    http://www.oracle.com/technology/obe/obe1013jdev/10131/wsfromplsqlpackage/devwsfrom%20plsql.htm
    "Developing a Web Service from a PL/SQL Package"
    I think you need Oracle AS, because you need an instance which "talks" http....

  • Is there any restriction using pl/sql packages depending on Oracle Version?

    Hi everybody. Our company is using a mix of pl/sql packages to call web services and process xml inside stored procedures. We are using UTL_HTTP, UTL_DBWS and UTL_XML. Our client asks if there is any restriction using those packages on a Standard One licensed database? Does we need an upgrade p.e. enterprise edition to use those packages? I test all our development on a Express Edition, and there is no restriction. We run the same test on a Standard One and Enterprise Editions and the result was the same, no restrictions.
    To use those packages does we need an upgrade to enterprise edition?
    Xavier.

    the packages that you mention are not restricted to a particular version.

Maybe you are looking for