PL/SQL web service

What application server can I deploy web services PL/SQL for? Can I use Oracle WebLogic or Apache Tomcat? In addition, security is important. Should I also the Oracle SOA Suite to run these web services?

Thank you.

Andy

andychow wrote:

Based on the following pages, it says we can publish web services from PL/SQL to certain kinds of application server. I have the application development Oracle APEX and wide writing PL/SQL packages. However, I don't know much about the web service and architecture that I need to get there.

It's a roundabout way to create a web service of the IMO. It encapsulates calls to PL/SQL in Java code in order to define a web service. That is not necessary and approach classic head-up-DOS of Java fanbois.

If an HTTP call are possible directly in PL/SQL, so why not do? So why put a layer of major and complex Java (usually on a separate platform of h/w too) between the appellant and the PL/SQL to provide a web service interface? How is it better?

Fewer moving parts means less complexity and improve performance. Less performance problems and problems. Easier to code and maintain.

Reality: it is not necessary for the external moving parts create a WebService from PL/SQL. And to do this, the Apache/mod_plsql or EPG of XDB is required to provide the very basic communication interface layer (at the protocol level) between the appellant and the PL/SQL web service procedure.

Tags: Database

Similar Questions

  • Oracle PL/SQL Web service - dynamic parameters... possible?

    Oracle 11.2.0.3 - newbie on web services!

    Currently we have a pl/sql web service takes 2 static parameters and return a response of varchar2.

    Asked me today if it is possible for a web service in a dynamic set of parameters and return a set of results. It's as if I have to pass the web service a table with two columns and return an array from a column.

    For example:
                        Input                          Output
              1 2                             3
              3 4                             7 
              5 6                            11
    of course in XML output. Is it possible?

    p.s. I posted this in OC4J also - no response so the re-post!

    Parameters related to the procedures. Web services require XML messages.

    Where are the settings? You cannot pass a dynamic number of parameters in a procedure, but you can pass a structured as a parameter type that can contain multiple values, either a table/collection type or document XML itself.

    All package values in the XML file and pass it to the web service.

    If this isn't answering your question, please post more information, with some sample data and code. Read the FAQ: {message identifier: = 9360002}

  • PL/SQL Web Services

    What application server can I deploy web services PL/SQL for? Can I use Oracle WebLogic or Apache Tomcat? In addition, security is important. Should I also the Oracle SOA Suite to run these web services?

    Thank you.

    Andy

    Since that is NOT really a specific issue of the APEX, I would say that you post it on the forum of PL/SQL...

    Thank you

    Tony Miller
    Webster, TX

  • Basic questions about the PL/SQL web services and data source names

    Hello

    I've successfully generated a web service for a procedure from PL/SQL packaged JDeveloper 11.1.1.3.0).

    The following code was generated in the base class for web services:
     __dataSource = (javax.sql.DataSource) __initCtx.lookup("java:comp/env/jdbc/dbconnectionDS");
    However in the weblogic server, the data source name is jdbc/Gisele for deployment fails in a first time.

    What is the recommended procedure to solve this problem? The obvious solution is to manually change the source - that's what I did and it worked fine. However if I re - generate the web service I won't lose my change. Is there a better way to do it?

    Another question - in the web.xml file that is generated, there is a resource-ref to the data source. I was hoping that change the data source name it would help, but it didn't work. What is - it used to in this context?

    Thank you
    Luis

    I forgot to add, so in case some time later and you want to update the connection to your service details, all you have to do is to add the following entry in your weblogic.xml:
    .

    JDBC/ref_name_from_web. XML
    JDBC/new_jndi_name

    .
    And in this way, you will not have to change any code level to point your web service to another connection.

    Vishal-

  • Urgent: The PL/SQl web service call fails with XML parsing

    Hello

    I try to call a WebService from PL/SQL (using the SOAP and UTL_HTTP Protocol built in package). I use Oracle 9i. I'm calling from pl/sql block, created in java web service method invocation.
    I get the below response as a SOAP protocol object, but I could not able to parse the SOAP.
    Could you please provide values for FirstName, LastName, and ErrorDescription


    declare
    request_env varchar2 (32767).
    v_xml XMLTYPE.
    l_user_first_name varchar2 (100);
    l_user_last_name varchar2 (100);
    l_error_value varchar2 (100);

    Start
    response_env: =' < soapenv:Envelope = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv >
    < soapenv:Body >
    < UserInfoObjResponse xmlns:axis2ns1 = "http://www.test.com/services" >
    < axis2ns1:FirstName > first name out < / axis2ns1:FirstName >
    < axis2ns1:LastName > last exit name < / axis2ns1:LastName >
    < axis2ns1:ErrorDescription / >
    < / UserInfoObjResponse >
    < / soapenv:Body >
    < / soapenv:Envelope > ';

    dbms_output.put_line (' length to ask:' | length (response_env));
    dbms_output.put_line (' ask: ' | response_env);

    v_xml: = XMLTYPE (response_env);

    -SELECT EXTRACTVALUE(v_xml, '//UserInfoObjResponse/FirstName') IN the varchar2 (100) of l_user_fast_name; FROM DUAL;

    dbms_output.put_line ('l_user_first_name: ' | l_user_first_name);
    dbms_output.put_line ('l_user_last_name: ' | l_user_last_name);
    dbms_output.put_line ('l_error_value: ' | l_error_value);
    end;

    NS is a string that contains the declaration of namespaces.

    Look at line 7:

    ns varchar2(200) := 'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:axis2ns1="http://www.test.com/services"';
    

    Max
    http://oracleitalia.WordPress.com

  • SOA Gateway - timeout when calling a web service custom Pl/SQL using SOAP

    Hello

    I developed and deployed my PL/SQL web service custom repository integration SOA Gateway.

    The web service works well, but sometimes its execution time exceeds 60 seconds, and I get the following time-out error: java.net.SocketTimeOutException: Read timed out

    Here's my env:

    Oracle E-Business Suite integrated SOA Gateway
    12.1.3
    IBM AIX on POWER Systems (64-bit)
    6.1

    I would like to know if there is a way to increase this time-out?

    EDIT:

    I took a quick glance at this doc errors of timeout in Web Services deployment (Doc ID 1073270.1( )

    and modified the $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml file

    then bounced oacore, oafm, but it did not work.

    EDIT 2:

    I tried to change the timeout setting in the file httpd.conf ( $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf )

    restart apache and the server, but it didn't work.

    Thank you

    Kind regards

    Simon

    In fact, I tried to play with the values that you mentioned, I put the maximum Heap space in JAVA to 2048M and in Apache timeout to 3600 seconds and after a wait of cca. 20 minutes I got the answer I needed the SOAP service.

    Kind regards

    Ognjen

  • Using PL/SQL to create a Web Service?

    Hello world:

    I have a question, I have not found in the research of wire. The light went off in my head on SOA and weakly couples services... Perl farm there, c# shut up and PL/SQL Ranch right here and so on... all the outputs of product in XML format for common use. I know that we can query results PL/SQL in XML format with some effort, but I want to know is how completely (Stepwise A - Z) create a PL/SQL web service and SOA standard. So this piece of the pie I'm missing?

    Thank you

    Preston
    See you soon!

    You are looking for something like this?

    Web Services using native Oracle XML DB

  • Publish as a Web Service option (PL/SQL) in 11 g JDeveloper 11.1.1.0.2

    Hello

    Im going to develop a Web Service of PL/SQL package.
    JDeveloper 10.1.3.1.0 it is an option that you can publish as Web Service directly from the pl/sql package diserable Navigation connections.
    In JDeveloper 11.1.1.0.2 is not such an option!
    There is another way to publish the Web Service of Pl/sql package?

    Thank you

    Hello

    The Pl/SQL Web services Wizard is back in the latest version of JDeveloper 11 g (11.1.1.2). You can download it here

    -Yogesh

  • Web service PLSQL returning multiple records

    Hello

    I am creating a web service using oracle 11 g, which should be able to return multiple records.

    Based on the code and the advice of the samples found on the internet, here is my code:

    CREATE OR REPLACE TYPE test_rec is OBJECT (
        s_nume_adre                    NUMBER ,
        c_eta_civi                     VARCHAR2(4 BYTE),
        l_nom1_comp                    VARCHAR2(40 BYTE),
        l_nom2_comp                    VARCHAR2(40 BYTE),
        l_nom3_comp                    VARCHAR2(40 BYTE),
        l_pren_comp                    VARCHAR2(30 BYTE),
        d_date_nais                    DATE);
    
    
    CREATE OR REPLACE TYPE test_array AS TABLE OF test_rec;
    */
    
    CREATE OR REPLACE PACKAGE test_pkg AS
      function get_rows(snume_adre in number) return test_array;
    END;
    /
    
    CREATE OR REPLACE PACKAGE BODY test_pkg AS
      function get_rows(snume_adre in number) return test_array is
        v_rtn   test_array := test_array(null);
        v_first boolean := true;
    
        cursor c_get_rows(snume_adre in number) is
          SELECT a.s_nume_adre,
                 nvl(a.c_eta_civi, '') c_eta_civi,
                 nvl(a.l_nom1_comp, '') l_nom1_comp,
                 nvl(a.l_nom2_comp, '') l_nom2_comp,
                 nvl(a.l_nom3_comp, '') l_nom3_comp,
                 nvl(a.l_pren_comp, '') l_pren_comp,
                 nvl(a.d_date_nais, to_date('01.01.1900', 'dd.mm.yyyy')) d_date_nais
        FROM bro.z45 a
      where a.s_nume_adre = snume_adre or snume_adre is null;
    
      begin
       
        for rec in c_get_rows(snume_adre) loop
          if v_first then
            v_first := false;
          else
            v_rtn.extend;
          end if;
       
        v_rtn(v_rtn.last) := test_rec(rec.s_nume_adre, rec.c_eta_civi, rec.l_nom1_comp, rec.l_nom2_comp,
                                    rec.l_nom3_comp, rec.l_pren_comp, rec.d_date_nais);
        end loop;   
    
        return v_rtn;
      end;
    END;
    /
    
    --select * from table (test_pkg.get_rows(null));
    
    
    

    I am able to retrieve data using select.

    However, when I try to access its wsdl I get an error:

    < envelope soap: >

    < soap: Body >

    < soap: Fault >

    Client: soap < faultcode > < / faultcode >

    entry processing < faultstring > error < / faultstring >

    < detail >

    < OracleErrors > < / OracleErrors >

    < / details >

    < / soap fault: >

    < / soap: Body >

    < / envelope soap: >

    -- -------------------------------------------------------------------------------------------------------------

    If I comment the function call in the package declaration I get a "correct": wsdl

    -- -------------------------------------------------------------------------------------------------------------

    " < name definitions = targetNamespace"GET_ROWS"=" http://xmlns.Oracle.com/orawsv/test/TEST_PKG/GET_ROWS "xmlns =" http://schemas.xmlsoap.org/wsdl/ "xmlns:tns =" http://xmlns.Oracle.com/orawsv/test/TEST_PKG/GET_ROWS "container =" http://www.w3.org/2001/XMLSchema "xmlns:soap =" http://schemas.xmlsoap.org/wsdl/SOAP/ "> " ""

    < types >

    " < xsd: Schema targetNamespace = ' http://xmlns.Oracle.com/orawsv/test/TEST_PKG/GET_ROWS "elementFormDefault ="qualified"> "

    < xsd: element name = "GET_ROWSInput" >

    < xsd: complexType >

    < / xsd: complexType >

    < / xsd: element >

    < xsd: element name = "GET_ROWSOutput" >

    < xsd: complexType >

    < / xsd: complexType >

    < / xsd: element >

    < / xsd: Schema >

    < / types >

    < name of message = "GET_ROWSInputMessage" >

    < name of part = "parameters" element = "tns:GET_ROWSInput" / >

    < / message >

    < name of message = "GET_ROWSOutputMessage" >

    < name of part = "parameters" element = "tns:GET_ROWSOutput" / >

    < / message >

    < portType name = "GET_ROWSPortType" >

    < operation name = "GET_ROWS" >

    < input message = "tns:GET_ROWSInputMessage" / >

    < output message = "tns:GET_ROWSOutputMessage" / >

    < / operation >

    < / portType >

    < connection name = "GET_ROWSBinding" type = "tns:GET_ROWSPortType" >

    " < style: soap = transport = 'document' binding ' http://schemas.xmlsoap.org/SOAP/HTTP "/>

    < operation name = "GET_ROWS" >

    < soap: operation soapAction = "GET_ROWS" / >

    < input >

    < soap body parts: = 'settings' use = "literal" / >

    < / Entry >

    < output >

    < soap body parts: = 'settings' use = "literal" / >

    < / output >

    < / operation >

    < / binding >

    < service name = "GET_ROWSService" >

    < documentation > Oracle Web Service < / documentation >

    < name of port = "GET_ROWSPort" binding = "tns:GET_ROWSBinding" >

    " < soap: address location = ' http://server.domain.ch:8080 / orawsv/TEST/TEST_PKG/GET_ROWS "/>

    < / port >

    < / service >

    < / definitions >

    -- -------------------------------------------------------------------------------------------------------------

    Any suspicion that how create and access pl sql web service returning multiple lines?

    I use java not and do not have access to tools such as JDeveloper.

    Thank you!

    The real problem is that collection types are not supported for the return parameters.

    The solution is to wrap the collection into another object.

    Here is an example of work based on your settings:

    CREATE OR REPLACE TYPE test_rec is OBJECT (
      empno  number(4)
    , ename  varchar2(10)
    , hiredate date
    );
    /
    
    CREATE OR REPLACE TYPE test_array AS TABLE OF test_rec;
    /  
    
    CREATE OR REPLACE TYPE test_array_wrapper is OBJECT ( arr test_array );
    /
    
    CREATE OR REPLACE PACKAGE test_pkg AS
      function get_rows(p_deptno in number) return test_array_wrapper;
    END;
    /  
    
    CREATE OR REPLACE PACKAGE BODY test_pkg AS
      function get_rows(p_deptno in number) return test_array_wrapper is
        results  test_array;
      begin  
    
        select test_rec(empno, ename, hiredate)
        bulk collect into results
        from scott.emp
        where deptno = p_deptno;     
    
        return test_array_wrapper(results);
      end;
    END;
    /
    

    The wsdl is then generated correctly:

    SQL> select httpuritype('http://DEV:dev@localhost:8080/orawsv/DEV/TEST_PKG/GET_ROWS?wsdl').getxml() from dual;
    
    HTTPURITYPE('HTTP://DEV:DEV@LOCALHOST:8080/ORAWSV/DEV/TEST_PKG/GET_ROWS?WSDL').GETXML()
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
      
        
          
            
              
                
              
            
          
          
            
              
                
              
            
          
          
            
              
                
                  
                    
                      
                        
                          
                        
                      
                    
                  
                
              
            
          
          
            
              
              
                
                  
                    
                  
                
              
              
            
          
        
      
      
        
      
      
        
      
      
        
          
          
        
      
      
        
        
          
          
            
          
          
            
          
        
      
      
        Oracle Web Service
        
          
        
      
    
    
  • Web services security

    Hello

    How can I secure web services native Oracle (PL/SQL)? How can I make sure that calls (from PHP, ASP.NET, etc.) to these PL/SQL web services are authenticated and authorized? What other software do I need to implement security?

    Thank you.

    Andy

    andychow wrote:

    I've been using Oracle APEX since its initial release (1.6 HTMLDB?).

    Has been called Marvel project. :-)

    However, web services is really a new object me - until now, I need to learn more about this topic.

    A web service is not that much different. He gets a HTTP request and responds to it. The difference from a technical point of view is the payload. A SOAP payload is received and a load XML is the answer.

    I think that, especially with Java developers, which is described by using several acronyms and definitions more and more moving parts. But it's especially stuffed animals. This is the client-server tcp using the HTTP application protocol to send and receive payloads.

    This means that all of the basic concepts and standards and security issues with HTTP client-server, remain valid.

    What I'm not clear, is that, with respect to web services Oracle XML DB, do I really need to set a port in the server that is running the database for the XDB HTTP listener

    For the web service procedure or method to receive the call and answering the call, a layer of HTTP communication is necessary. This can be Apache, IIS, Tomcat or servlet HTTP in XDB.

    I feel very uncomfortable allow access to resources of database directly through a browser without worrying it's http or https.

    I don't see that as the real problem. If the customer uses OIC via tcp or HTTP over tcp to communicate with the database, basic security issues and principles remain the same.

    What offer the XDB is the elimination of a layer external s/w (like Apache) to deal with the aspect of communication tcp and HTTP interface. This can be useful sometimes (deletes an external point of failure and external complexity). Maybe it's not ideal at other times. As usual, it depends on the security requirements and the physical communications infrastructure.

    We can expose web services Oracle XML DB with Oracle HTTP instead of use the XDB HTTP listener in an Oracle database?

    Yes. The caller specifies what exactly? A URL that refers to a procedure from PL/SQL web active. So if that is served by Apache mod_plsql or via a servlette XDB is neither here or there - both are interface HTTP communication layers. Their main goal is to provide the interface between the client and the web service.

    I find the documentation on web services to confusion at times because it is too abstract and does not address the fundamental workings of its operation. And Oracle API web service in the data base is (AFAIK), on ito Java classes complex configuration and use of the PL/SQL wrappers and cryptic in error responses.

    So when it comes to web services, I generally prefer to roll my own using PL/SQL only.

  • VIX file in the user interface designer receives the data from the Web service application that communicates with the SQL server database

    I created the Web service VI ("Mt-insolacije.vi"), which has two terminals of the input string (FROM / TO) for the dates of arrival and exit of two data terminals (table 1 d) from database (MS SQL server). This VI communicates with the database with functions of the database with a DSN and SQL query appropriate palette. There are two tables with two data (time and Insolation) columns in the database.

    This VI works when you run in Labview 2010, but when I used it as VI in UI Builder it returns no data.

    Could you please help me find a solution. Is it possible to communicate with the SQL server database in this way or there is another way?

    There are two files attachmet: Image of .vix file in Interface builder and .vi file ("Mt-insolacije.vi")

    Please help me ASAP!

    Thank you

    Ivan

    I found the solution problem is in the DSN. I've been using the user instead of DSN system DSN.

    It's important to create the system DSN if you want your VI of web service to communicate with the database.

    PS Please put feature bundle format timestamp and XY graph in the web user interface designer. It's complicated to trace data with datetime on X axis without them.

  • PL/SQL procedure to run an ODI load plan via the web service

    Someone at - it a procedure from PL/SQL to run a load of ODI Plan using a web service?

    These discussions helped:

    Run a scenario ODI of APEX

    Problems with UTL_HTTP and problems of access to the network

  • Could not get the native web service response to Oracle using a PL/SQL &lt; Message &gt; function &lt;! [CDATA [component "WS_CALC" must be said]] &gt; &lt; / Message &gt;

    Hi, we have a problem with oracle native web service access using a PL/SQL function. We are running out of ideas how to solve the problem. Someone would be so nice to take a look at our case. Thank you much in advance. Best regards, Smiljana

    CREATE TABLE for_web_info (some_hello_text VARCHAR2 (150), when_inserted DATE, we_are_from VARCHAR2 (30));

    INSERT INTO for_web_info VALUES ('HI everyone :-) ', SYSDATE, 'Ljubljana, Slovenia');

    CREATE OR REPLACE

    PACKAGE ws_calc AUTHID CURRENT_USER AS

    FUNCTION CalcProduct (a NUMBER by DEFAULT 1,

    b in on NUMBER,

    g NUMBER of OUTPUT)

    RETURN NUMBER;

    END ws_calc;

    /

    CREATE OR REPLACE

    PACKAGE ws_calc AS BODY

    FUNCTION CalcProduct (a NUMBER by DEFAULT 1,

    b in on NUMBER,

    g NUMBER of OUTPUT)

    RETURN NUMBER IS

    product NUMBER;

    BEGIN

    SELECT SUM (1) IN the for_web_info OF g;

    product: = a * b;

    RETURN any product;

    END;

    END;

    /

    Our two DBA done all the steps described in the manual Oracle® XML DB's Guide Developer, 11 g Release 2 (11.2), E23094-04, February 2014, section using Oracle DB native XML Web Services.

    Access us two wsdl with browser without problem and get two of them. We also receive web serivce response which databese of query table.

    http://our_db:8080 / orawsv? WSDL

    http://our_db:8080 / orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT? WSDL

    ---------------

    | First WSDL.

    ---------------

    <? XML version = "1.0"? >

    " < name definitions = targetNamespace"orawsv"=" http://xmlns.Oracle.com/orawsv "" "

    " xmlns =" http://schemas.xmlsoap.org/wsdl/ "

    ' xmlns:tns = ' http://xmlns.Oracle.com/orawsv "" "

    ' xmlns:soap = ' http://schemas.xmlsoap.org/WSDL/SOAP/ "

    " container = ' http://www.w3.org/2001/XMLSchema "

    " xmlns: xsi =" http://www.w3.org/2001/XMLSchema-instance "

    " xsi: schemaLocation =" http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/"> ".

    < types >

    < xsd: Schema

    " targetNamespace = ' http://xmlns.Oracle.com/orawsv "" "

    elementFormDefault = "qualified" >

    < xsd: element name = "query" >

    < xsd: complexType >

    < xsd: SEQUENCE >

    < xsd: element name = "DDL_text" type = "xsd: String".

    minOccurs = "0" maxOccurs = "unbounded" / >

    < xsd: element name = 'query_text' >

    < xsd: complexType >

    < xsd:simpleContent >

    < xsd:extension base = "XSD: String" >

    < xsd: attribute name = "type" >

    < xsd:simpleType >

    < xsd:restriction base = "xsd:NMTOKEN" >

    < value xsd: Enumeration = "SQL" / >

    < value xsd: Enumeration = "XQUERY" / >

    < / xsd:restriction >

    < / xsd:simpleType >

    < / xsd: attribute >

    < / xsd:extension >

    < / xsd:simpleContent >

    < / xsd: complexType >

    < / xsd: element >

    < xsd: Choice minOccurs = "0" maxOccurs = "unbounded" >

    < xsd: element name = "bind" >

    < xsd: complexType >

    < xsd:simpleContent >

    < xsd:extension base = "XSD: String" >

    < xsd: attribute name = "name" type = "xsd: String" / >

    < / xsd:extension >

    < / xsd:simpleContent >

    < / xsd: complexType >

    < / xsd: element >

    < xsd: element name = "bindXML" >

    < xsd: complexType >

    < xsd: SEQUENCE >

    < xsd: all / >

    < / xsd: SEQUENCE >

    < / xsd: complexType >

    < / xsd: element >

    < / xsd: Choice >

    < xsd: element name = "null_handling" minOccurs = "0" >

    < xsd:simpleType >

    < xsd:restriction base = "xsd:NMTOKEN" >

    < value xsd: Enumeration = "DROP_NULLS" / >

    < value xsd: Enumeration = "NULL_ATTR" / >

    < value xsd: Enumeration = "EMPTY_TAG" / >

    < / xsd:restriction >

    < / xsd:simpleType >

    < / xsd: element >

    < xsd: element name = "max_rows" type = "positiveInteger" minOccurs = "0" / >

    < xsd: element name = "skip_rows" type = "positiveInteger" minOccurs = "0" / >

    < xsd: element name = "pretty_print" type = "xsd: Boolean" minOccurs = "0" / >

    < xsd: element name = "indentation_width" type = "positiveInteger" minOccurs = "0" / >

    < xsd: element name = "rowset_tag" type = "xsd: String" minOccurs = "0" / >

    < xsd: element name = "row_tag" type = "xsd: String" minOccurs = "0" / >

    < xsd: element name = "item_tags_for_coll" type = "xsd: Boolean" minOccurs = "0" / >

    < / xsd: SEQUENCE >

    < / xsd: complexType >

    < / xsd: element >

    < xsd: element name = "queryOut" >

    < xsd: complexType >

    < xsd: SEQUENCE >

    < xsd: all / >

    < / xsd: SEQUENCE >

    < / xsd: complexType >

    < / xsd: element >

    < / xsd: Schema >

    < / types >

    < name of message = "QueryInput" >

    < name of part = element "body" = "tns:query" / >

    < / message >

    < name of the message 'XMLOutput' = >

    < name of part = element "body" = "tns:queryOut" / >

    < / message >

    < portType name = "ORAWSVPortType" >

    < operation name = "XMLFromQuery" >

    < input message = "tns:QueryInput" / >

    < output message = "tns:XMLOutput" / >

    < / operation >

    < / portType >

    < connection name = "ORAWSVBinding" type = "tns:ORAWSVPortType" >

    " < style: soap = transport = 'document' binding ' http://schemas.xmlsoap.org/SOAP/HTTP "/>

    < operation name = "XMLFromQuery" >

    " < soap: operation soapAction = ' http://our_db:8080 / orawsv "/>

    < input >

    < use of soap: body = "literal" / >

    < / Entry >

    < output >

    < use of soap: body = "literal" / >

    < / output >

    < / operation >

    < / binding >

    < service name = "ORAWSVService" >

    < documentation > Oracle Web Service < / documentation >

    < name of port = "ORAWSVPort" binding = "tns:ORAWSVBinding" >

    " < soap: address location = ' http://our_db:8080 / orawsv "/>

    < / port >

    < / service >

    < / definitions >

    ----------------

    | Second WSDL.

    ----------------

    <? XML version = "1.0"? >

    < name of definitions = "CALCPRODUCT."

    " targetNamespace = ' http://xmlns.Oracle.com/orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT "" "

    " xmlns =" http://schemas.xmlsoap.org/wsdl/ "

    ' xmlns:tns = ' http://xmlns.Oracle.com/orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT "" "

    " container = ' http://www.w3.org/2001/XMLSchema "

    ' xmlns:soap = ' http://schemas.xmlsoap.org/WSDL/SOAP/ ">

    < types >

    " < xsd: Schema targetNamespace = ' http://xmlns.Oracle.com/orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT "" "

    elementFormDefault = "qualified" >

    < xsd: element name = "SNUMBER-CALCPRODUCTInput" >

    < xsd: complexType >

    < xsd: SEQUENCE >

    < xsd: element name = "G-NUMBER-OUT" >

    < xsd: complexType / >

    < / xsd: element >

    < xsd: element name = "B-NUMBER-INOUT" type = "xsd: double" / >

    < xsd: element name = "A-NUMBER-IN" minOccurs = "0" maxOccurs = "1" type = "xsd: double" / >

    < / xsd: SEQUENCE >

    < / xsd: complexType >

    < / xsd: element >

    < xsd: element name = "CALCPRODUCTOutput" >

    < xsd: complexType >

    < xsd: SEQUENCE >

    < xsd: element name = "RETURN" type = "xsd: double" / >

    < xsd: element name = "G" type = "xsd: double" / >

    < xsd: element name = "B" type = "xsd: double" / >

    < / xsd: SEQUENCE >

    < / xsd: complexType >

    < / xsd: element >

    < / xsd: Schema >

    < / types >

    < name of message = "CALCPRODUCTInputMessage" >

    < name of part = "parameters" element = "tns:SNUMBER - CALCPRODUCTInput" / >

    < / message >

    < name of message = "CALCPRODUCTOutputMessage" >

    < name of part = "parameters" element = "tns:CALCPRODUCTOutput" / >

    < / message >

    < portType name = "CALCPRODUCTPortType" >

    < operation name = "CALCPRODUCT" >

    < input message = "tns:CALCPRODUCTInputMessage" / >

    < output message = "tns:CALCPRODUCTOutputMessage" / >

    < / operation >

    < / portType >

    < connection name = "CALCPRODUCTBinding".

    Type = "tns:CALCPRODUCTPortType" >

    " < style: soap = transport = 'document' binding ' http://schemas.xmlsoap.org/SOAP/HTTP "/>

    < operation name = "CALCPRODUCT" >

    < soap: operation

    soapAction = "CALCPRODUCT" / >

    < input >

    < soap body parts: = 'settings' use = "literal" / >

    < / Entry >

    < output >

    < soap body parts: = 'settings' use = "literal" / >

    < / output >

    < / operation >

    < / binding >

    < service name = "CALCPRODUCTService" >

    < documentation > Oracle Web Service < / documentation >

    < name of port = "CALCPRODUCTPort" binding = "tns:CALCPRODUCTBinding" >

    < address soap:

    " location = ' http://our_db:8080 / orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT "/>

    < / port >

    < / service >

    < / definitions >

    -----------------

    | SQL Developer |

    -----------------

    SET serveroutput ON

    -------------

    | First WS.

    -------------

    DECLARE

    V_SOAP_REQUEST XMLTYPE: = XMLTYPE (' <? xml version = "1.0"? > < env:Envelope xmlns:env = "http://www.w3.org/2002/06/soap-envelope " > < env:Body > < query xmlns = "http://xmlns.oracle.com/orawsv" > < type of the argument texte_requete = "SQL" > <!) ([CDATA [SELECT * FROM for_web_info WHERE the INSTR (UPPER (we_are_from),: e) > 0]] > < / query_text > < link name 'e' = > SLOVENIA < / bind > < false pretty_print > < / pretty_print > < / query > < / env:Body > < / env:Envelope > ');

    V_SOAP_REQUEST_TEXT CLOB: = V_SOAP_REQUEST.getClobVal ();

    V_REQUEST UTL_HTTP. REQ;

    V_RESPONSE UTL_HTTP. RESP;

    V_BUFFER VARCHAR2 (1024);

    URL VARCHAR2 (4000): = ' http://our_db:8080 / orawsv ';

    BEGIN

    V_REQUEST: = UTL_HTTP. BEGIN_REQUEST (URL = > URL, METHOD = > 'POST');

    UTL_HTTP. SET_AUTHENTICATION (R = > V_REQUEST, username = > 'OUR_U', PASSWORD = > 'OUR_P'); -not case-sensitive

    V_REQUEST. METHOD: = 'POST';

    UTL_HTTP. SET_HEADER (R = > V_REQUEST, NAME = > 'Content-Length', VALUE = > DBMS_LOB.) GETLENGTH (V_SOAP_REQUEST_TEXT));

    UTL_HTTP. WRITE_TEXT (R = > V_REQUEST, DATA = > V_SOAP_REQUEST_TEXT);

    V_RESPONSE: = UTL_HTTP. GET_RESPONSE (V_REQUEST);

    LOOP

    UTL_HTTP. READ_LINE (V_RESPONSE, V_BUFFER, TRUE);

    DBMS_OUTPUT. PUT_LINE (V_BUFFER);

    END LOOP;

    UTL_HTTP. END_RESPONSE (V_RESPONSE);

    EXCEPTION

    WHEN UTL_HTTP. END_OF_BODY THEN

    UTL_HTTP. END_RESPONSE (V_RESPONSE);

    END;

    anonymous block filled

    " <? xml version ="1.0"? > < envelope soap: xmlns:soap = ' http://www.w3.org/2002/06/SOAP-envelope ' > < soap: Body > < queryOut xmlns = " http://xmlns.Oracle.com/orawsv "> "

    < set of LINES > < ROW > < SOME_HELLO_TEXT > HI everybody :-) < / SOME_HELLO_TEXT > < WHEN_INSERTED > 03.10.14 < / WHEN_INSERTED > < WE_ARE_FROM > Ljubljana, Slovenia < / WE_ARE_FROM > < / ROW > < / rowset > < / queryOut > < / soap: Body > < / envelope soap: >

    --------------

    | Second WS.

    --------------

    DECLARE

    V_SOAP_REQUEST XMLTYPE: = XMLTYPE ("<?") XML version = "1.0"? > < soap envelope: xmlns:soap = "http://www.w3.org/2002/06/soap-envelope" > < soap: Body > < xmlns SNUMBER-CALCPRODUCTInput = ""http://xmlns.oracle.com/orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT"(> < A-NUMBER-IN > 2 < / A-NUMBER-IN > < B-NUMBER-INOUT > 3 < / B-NUMBER-INOUT > < R-NUMBER-OUT / > < / SNUMBER-CALCPRODUCTInput > < / soap: Body > < / SOAP: envelope > '); "

    V_SOAP_REQUEST_TEXT CLOB: = V_SOAP_REQUEST.getClobVal ();

    V_REQUEST UTL_HTTP. REQ;

    V_RESPONSE UTL_HTTP. RESP;

    V_BUFFER VARCHAR2 (1024);

    URL VARCHAR2 (4000): = ' http://our_db:8080 / orawsv/OUR_SCHEMA/WS_CALC/CALCPRODUCT ';

    BEGIN

    V_REQUEST: = UTL_HTTP. BEGIN_REQUEST (URL = > URL, METHOD = > 'POST');

    UTL_HTTP. SET_AUTHENTICATION (R = > V_REQUEST, username = > 'OUR_U', PASSWORD = > 'OUR_P'); -not case-sensitive

    V_REQUEST. METHOD: = 'POST';

    UTL_HTTP. SET_HEADER (R = > V_REQUEST, NAME = > 'Content-Length', VALUE = > DBMS_LOB.) GETLENGTH (V_SOAP_REQUEST_TEXT));

    UTL_HTTP. WRITE_TEXT (R = > V_REQUEST, DATA = > V_SOAP_REQUEST_TEXT);

    V_RESPONSE: = UTL_HTTP. GET_RESPONSE (V_REQUEST);

    LOOP

    UTL_HTTP. READ_LINE (V_RESPONSE, V_BUFFER, TRUE);

    DBMS_OUTPUT. PUT_LINE (V_BUFFER);

    END LOOP;

    UTL_HTTP. END_RESPONSE (V_RESPONSE);

    EXCEPTION

    WHEN UTL_HTTP. END_OF_BODY THEN

    UTL_HTTP. END_RESPONSE (V_RESPONSE);

    END;

    anonymous block filled

    <? XML version = "1.0"? >

    " < envelope soap: xmlns:soap = ' http://www.w3.org/2002/06/SOAP-envelope/ ">

    < soap: Body >

    < soap: Fault >

    < Code: soap >

    < soap: value > SOAP: sender < / SOAP: value >

    < / Code: soap >

    entry processing < soap: reason > error < / SOAP: reason >

    < soap: detail >

    " < OracleErrors xmlns =" http://xmlns.Oracle.com/orawsv/faults "> "

    So OracleError >

    < ErrorNumber > ORA-19202 < / ErrorNumber >

    < message > <! [CDATA [error has occurred in the processing of XML]] > < / Message >

    < / OracleError >

    So OracleError >

    < ErrorNumber > ORA-06550 < / ErrorNumber >

    < message > <! [CDATA [line 1, column 24:]] > < / Message >

    < / OracleError >

    So OracleError >

    < ErrorNumber > PLS-00302 < / ErrorNumber >

    < message > <! [CDATA [component "WS_CALC" must be said]] > < / Message >

    < / OracleError >

    So OracleError >

    < ErrorNumber > ORA-06550 < / ErrorNumber >

    < message > <! [CDATA [line 1, column 7:]]

    [[PL/SQL: statement ignored]] > < / Message >

    < / OracleError >

    < / OracleErrors >

    < / Details: soap >

    < / soap fault: >

    < / soap: Body >

    < / envelope soap: >

    With reference APEX web service, the response is exactly the same and apex_web_service.make_request also work.

    Thanks again.

    The SOAP request is not correct.

    must be:

    So again, it does not solve the problem:

    -Which user you are using to authenticate on the other side?

    If it's another user the owner of the package, then of course you must grant the execute privilege appropriate to this user (and possibly one explicit SELECT on the table referenced too privilege).

  • Call to Web Service of Oracle PL/SQL not to call the Web service in SOA Server

    Hello

    Try to call the Web service to oralce pl/sql function

    created a function

    Unable to invoke the web service from the server of the SOA.

    CREATE or REPLACE FUNCTION HelloWorld_WebServices(S_STRING Varchar2) RETURN VARCHAR2 as

    Server sys.utl_dbws. SERVICE;

    APPEL_ sys.utl_dbws. CALL;

    service_qname sys.utl_dbws. QNAME;

    port_qname sys.utl_dbws. QNAME;

    response sys. XMLTYPE;

    application sys. XMLTYPE;

    BEGIN

    sys.utl_dbws.set_http_proxy ("hostname: Port'");

    service_qname: = sys.utl_dbws.to_qname ("ns1", "process");

    Server: = sys.utl_dbws.create_service (service_qname);

    APPEL_: = sys.utl_dbws.create_call (server);

    sys.utl_dbws.set_target_endpoint_address (APPEL_, ' http:/host name: port/soa-infra/services/OFS/HelloWorld/helloworld_client_ep ');

    sys.utl_dbws.set_property (APPEL_, 'OPERATION_STYLE', 'process');

    asks: = sys. XMLTYPE ("< ns1:process xmlns:ns1 ="http://xmlns.oracle.com/OFSOrderServices/HelloWorld/HelloWorld"> < ns1:input > < / ns1:input > < / ns1:process > '"); 

    answer: = sys.utl_dbws.invoke (APPEL_, request);

    return response.extract('//HelloWorld/child::text() ','http://xmlns.oracle.com/OFSOrderServices/HelloWorld/HelloWorld'). getstringval(); 

    DBMS_OUTPUT. Put_line ("values of the OutputsVariables8");

    -Of return ';

    END;

    Run - the code below:

    Select HelloWorld_WebServices ('Hi') to double;

    Error:

    ORA-29532: Java call terminated by eception Java exception: java.lang.NoClassDefFoundError

    ORA-06512: at "SYS." UTL_DBWS', line 403

    ORA-06512: at "SYS." UTL_DBWS', line 400

    ORA-06512: at the 'APPS '. HELLOWORLD_WEBSERVICES', line 74

    29532 00000 - "Java call terminated by eception Java exception: %s."

    * Cause: A mistake or a Java exception has been reported and could not be

    solved by Java code.

    * Action: Modify Java code, if this behavior is not expected.

    Hello

    Fixed the error

    After loading once again of DBA and network provided access files JAR/JVM firewall

    and the correction on the threshold

    Return response.extract (' / result/child::text () ','xmlns = "http://xmlns.oracle.com/OFSOrderServices/HelloWorld/HelloWorld" '). getstringval();

  • PL/SQL proc as a web service

    Oracle 11.2.0.x
    Reference: Accessing PL/SQL procedures stored using a Web Service (< i > Oracle Developer of Microsoft® XML DB Guide < /i >).

    The feature works very well. Have tested a number of written PL/SQL procs customized this way - is used as a web service and SoapUI and UTL_HTTP procedures as customers, call the web service.

    Issue.
    Can it withstand WSS (Web Services Security) with this feature?

    I added a WSSE to the header of the SOAP envelope when calling - using the standard password (no digest) and the default address. Orawsv XDB servlet accepts the call, the analysis of the SOAP envelope and executes the PL/SQL procedure successfully.

    However, it uses Basic authentication (schema name and password). Not the WSSE.

    Because the WSSE authentication data are part of the SOAP header (and not the body envelope), the PL/SQL procedure of course don't don't can't see the details of the WSSE. (also would make sense ito how XDB abstracts orawsv as a web service interface and allows procedures PL/SQL standard vanilla and functions to be used as web service endpoints).

    So if the WSSE must be supported, this would probably mean that he needs to be supported in XDB himself. And it is outside my small area of expertise of the Oracle.

    Not much on the net (many UTL_DBWS) and just a couple of basic orawsv supports Metalink notes.

    Ideas, suggestions or pointers will be appreciated.

    Thank you.

    WSS will not be supported by Native Web Services database. It is a deliberate choice to differentiate when an application server should be used Vs when DBNWS is appropriate. If you are in an environment where WSS is a requirement, you should be usiing an applications, such as Oracle WebLogic Server, to offer your Web Services.

    It said the next version of the database willl help DIGEST so authenitcation BASE for HTTP. If the current model of BASIC authentication is a problem, then you should force the use of an SSL (HTTPS) connection. That's why we have the role XDB_WEBSERVICES_OVER_HTTP. If this role is not granted then the DBNWS accessible only using HTTPS.

Maybe you are looking for

  • Strange my Equium A60 new specification

    HelloI hope someone can explain to me if the Ram on my new machine works well or if a part of the module is defective.The machine, that I bought was supposed to have 256 MB of Ram, but when I look in:My computerPropertiesSystem PropertiesIt shows onl

  • Pavilion TS Sleekbook 15: replacing the battery for computer pavilion laptop

    So I get warning messages when I turn on my TS Sleekbook 15, battery is extremely low.  I am looking for a spare battery and adapter online, and I'm worried about reliability.  Where can I get a reliable spare battery?

  • iXpand Flash Drive with firmware 4.4.7 and iPhone/iPad with iOS 9.2.

    I have 5 (!) iXpand Flash Drives (all updated with latest firmware 4.4.7) and have tried on iPhone and iPad with iOS 9.2. None of them are able to find the real or videos in folders on my iPhone/iPad, just the cards where the photo files and images v

  • Waiting for signature keys

    Someone else, the difficulty becomes sent signing keys?  I have been waiting for 24 hours and have submitted two orders (site suggests the reorganization if you do not have wityhin 2 hours), I also sent a query to [email protected] and

  • Hide tab on TabbedPane

    I am trying to create a system to connect / register for my application. I have the framework, with the exception of the part after the user registers or logs. The system connect / register how it works. The application starts. The first tab has a na