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.

Tags: Database

Similar Questions

  • 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

  • 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.

  • How to consume the web service using PLSQL in 11g

    Hello

    I created a site using jDeveloper, web services which when I put in the web browser and press enter, it will display the settings screen and when I pass the value for the parameter, and then it displays the output of the XML returned by the PL/SQL (called in the Web Service) package. Now, I want to call this webservice in PL/SQL and read XML data and fill in the staging table. Can anyone suggest me how to achieve this functionality by using Oracle PL/SQL

    I use the database 11g and jDeveloper Version :-Studio Edition version 10.1.3.0

    Thank you very much in advance.

    Vijay

    The WSDL file describes the web service.

    To obtain the WSDL, you enter the URL of the web service and add some ? WSDL to the URL. This indicates the web service to return to its definition.

    For example

    URL of the Web Service: http://wsf.cdyne.com/WeatherWS/Weather.asmx

    WSDL URL: http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL

    When you read (using 'web browser' UTL_HTTPpackage) the XML response from the web service, read as strings (PL/SQL varchar2, size 32 K max).

    You should read the answer as the strings, then writing/writeappend these channels in a CLOB (using the DBMS_LOB package). If you are VERY sure that the web service call ALWAYS returns an XML of less than 32 k, you can skip using a CLOB.

    Whatever it is, read you the response from the web service in the form of text (such as plain text, it is what is sent). The next step on your part is to parse text into an XML DOM (document object model) - and storing the DOM in an Oracle XmlType variable.

    When in a DOM, you can use Oracle XML functions to extract the attributes and values of the key element of the response from the web service.

  • 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.

  • 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

  • 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();

  • 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}

  • Call web service from pl/sql

    Dear all,

    I have the web service where I need to take the picture as a binary stream and insert it into the blob.

    What is the best way to call the web service and store a photo as a binary stream (jpg file) into blob?

    Kind regards

    E.

    852611 wrote:
    Thank you very much for helping me to invoke the web service in my database.

    I received the message, now I need to decode an image base64binary. Is it possible to make hollow pl/sql or java should I use?

    PL/SQL. No need for Java.

    An example of how encoding works is in {message identifier: = 10364104}. You simply do the reverse (decoding) that makes the example code (coding).

  • 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

  • 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

Maybe you are looking for