Native Oracle XML DB Web Services…

I’ve been playing around with Native Oracle XML DB Web Services in Oracle 11g Release 1 for a while and I’ve finally decided to release the article.

One of the reasons it’s been on the back burner for some time is I’ve been having trouble with the anonymous access configuration. I’ve still not got this sorted, but I decided to open it up and leave that section as a work in progress. I’ll keep looking at it and update that section if I get a satisfactory solution.

Cheers

Tim…

Update: I received the following quote on Metalink from the “Global Technical Lead XML Database”:

“Anonymous access to web services is not possible. Direct PL/SQL access without authentication would be a massive security hole.”

Author: Tim...

DBA, Developer, Author, Trainer.

2 thoughts on “Native Oracle XML DB Web Services…”

  1. Hi Tim:
    I am trying to do the same to compare Native WS against REST WS inside the Oracle JVM.
    http://marceloochoa.blogspot.com/2008/02/is-oracle-11g-rest-ready.html
    I have successful configured REST WS to accept anonymous access doing this:

    DECLARE
    configxml SYS.XMLType;
    begin
    dbms_xdb.deleteServletMapping(‘UsersRestlet’);
    dbms_xdb.deleteServlet(‘UsersRestlet’);
    dbms_xdb.addServlet(name=>’UsersRestlet’,language=>’Java’,class=>’com.noelios.restlet.ext.xdb.XdbServerServlet’,dispname=>’Restlet Servlet’,schema=>’PUBLIC’);
    — Modify the configuration
    — Due this servlet provide public access, it can not load
    — ‘/home/’||USER||’/restlet/UsersRestlet.xml’ from XMLDB repository
    SELECT INSERTCHILDXML(xdburitype(‘/xdbconfig.xml’).getXML(),’/xdbconfig/sysconfig/protocolconfig/httpconfig/webappconfig/servletconfig/servlet-list/servlet[servlet-name=”UsersRestlet”]’,’init-param’,
    XMLType(‘
    org.restlet.application
    $sch:org.restlet.example.tutorial.Part12
    REST User Application
    ‘),’xmlns=”http://xmlns.oracle.com/xdb/xdbconfig.xsd”‘) INTO configxml
    FROM DUAL;
    — Update the configuration to use the modified version
    –I got this error at this line :
    dbms_xdb.cfg_update(configxml);
    dbms_xdb.addServletSecRole(SERVNAME => ‘UsersRestlet’,ROLENAME => ‘PUBLIC’,ROLELINK => ‘PUBLIC’);
    dbms_xdb.addServletMapping(‘/userapp/*’,’UsersRestlet’);
    commit;
    end;
    /
    commit;

    But Java Servlet have a ROLENAME and ROLELINK attributes to be changed to PUBLIC. Native WS is in C and may be has no this possibility.
    Best regards, Marcelo.

  2. Hi.

    Thanks for the info. I’ve raised an SR with Oracle support to see if there is an obvious solution. Once I get a response I’ll amend the article.

    Cheers

    Tim…

Comments are closed.