 |
|
Oracle data access with SOAP
Oracle Database Tips by Donald Burleson |
Question:
How do I access Oracle data with SQL using SOAP?
Answer: Oracle SOAP is an implementation of the "Simple
Object Access Protocol" an open source extension of Apache.
Internally, SOAP is just a protocol standard
and the communications with Oracle is not direct, like using SQL. Instead,
SOAP calls Oracle indirectly:
- You send a SOAP message to the http server
(Apache).
- The http server, in turn, invokes a
process (PL/SQL, Java Stored Procedure). The Oracle procedure has the
Oracle SQL embedded inside it, and this procedure (or function) retrieves
the data from Oracle.
- Outbound, the data is passed back to the
http server, where it can be formatted (i.e. XML) and then sent back to the
requesting client as a SOAP message, with the Oracle data inside the
message.
Oracle notes that "You may consume web services via SOAP, and use the Oracle
Java Virtual Machine or PL/SQL to invoke the remote web service"
"[Oracle] provides a number of capabilities
that make calling an external Web service, from within the database, a
reasonably simple task."
Lewis
Cunningham also has some tips that suggest that you interface with SOAP
indirectly:
"You won't use SOAP to query a specific
table for a specific row. If the other database is designed for SOAP, they
can probably supply you with a URL where you can UTL_HTTP or AQ to retrieve
the SOAP message. "
 |
If you like Oracle tuning, see the book "Oracle
Tuning: The Definitive Reference", with 950 pages of tuning tips and
scripts.
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts. |