1 Reply Latest reply: May 29, 2009 5:16 AM by 583155 RSS

    Unable to call WSS (WS-Security) enabled Web Service using UTL_DBWS

    583155
      We are attempting to call a WSS (WS-Security) enabled Web Service from PL/SQL using the UTL_DBWS package (see [http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_dbws.htm#CHDIDGJH] ). We are doing this in similar fashion to [http://www.oracle-base.com/articles/10g/utl_dbws10g.php] with calls to utl_dbws.create_service, utl_dbws.create_call and utl_dbws.invoke.

      Using this method we can successfully call an unsecured Web Service, but calls to WSS-enabled Web Services fail. We are currently using Oracle Database 10.2.0.3.

      The failure we are getting is:
      ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException:
      com.sun.xml.wss.XWSSecurityException: Message does not conform to configured
      policy ( AuthenticationTokenPolicy(S) ): No Security Header found;nested
      exception is com.sun.xml.wss.XWSSecurityException:
      com.sun.xml.wss.XWSSecurityException: Message does not conform to configured
      policy ( AuthenticationTokenPlicy(S) ): No Security Header found

      Apparently UTL_DBWS does not support calling WSS enabled services, although this doesn't appear to be an officially recognised position. Does anyone know if Oracle are planning to support this soon (if ever)? Looking at Re: Calling WS from PL/SQL using WS-security suggests that support has been considered before, but not yet realised.

      Thanks,
      Tom
        • 1. Re: Unable to call WSS (WS-Security) enabled Web Service using UTL_DBWS
          583155
          Having raised a Service Request with Oracle support on this, I got the following response from Oracle Development (On unpublished bug [8542959|https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=BUG&p_id=8542959]):

          Development has confirmed that WS-Security is not supported through UTL_DBWS. They have also acknowledged that this is not documented and they will change the official Oracle documentation will reflect this fact. From what is being stated, it would appear that there is no plan to support the use of WS-Security through UTL_DBWS in any release in the near future.

          So, in short, without developing your own home-grown SOAP request, there is no way to call a WSS enabled web service from within PL/SQL.

          -Tom