Search Results get_ports




Overview

SYS.UTL_DBWS is the Oracle-supplied PL/SQL wrapper around the Java-based Database Web Services (DBWS) call-out framework. In Oracle E-Business Suite 12.1.1 and 12.2.2, it provides the server-side mechanism by which PL/SQL code can act as a web services client: it loads a WSDL document, instantiates a service, builds a SOAP call, sets the target endpoint, and invokes the remote operation synchronously from within the database session. The package is owned by SYS and is classified in ETRM as OTHER rather than as an EBS business API, reflecting that it is generic Oracle database infrastructure rather than an Application Object Library construct.

The utility is chiefly used to integrate EBS with external systems — payment gateways, tax engines, shipping carriers, banks, or third-party SaaS endpoints — without requiring a middle-tier adapter. Because the package executes inside the database, calls participate in the session's transaction and security context, and are typically reached through thin PL/SQL wrappers created in the APPS schema.

Key Procedures and Functions

ETRM documents twenty-six callable units. They fall into four functional groups.

Tables Accessed

The ETRM metadata records no tables referenced through APPS synonyms, and no EBS application tables are read or written by this package. It is a stateless runtime library: its inputs are WSDL locations, QNames, and parameter values supplied by the caller, and its state is held in in-memory Java objects represented by numeric handles (SERVICE and Call). Persistence of request and response data, if required, is the responsibility of the calling custom code, which typically logs to a customer-defined staging table or to the EBS interface tables appropriate to the integrated business process.

Usage Notes

UTL_DBWS is invoked from custom PL/SQL rather than from standard EBS forms or concurrent programs. Typical deployments include a concurrent program that periodically polls an external service, a form personalization or custom form that calls an external validation service on save, and workflow or Business Event subscriptions that push data outward. The pattern is consistent: build a QName, call CREATE_SERVICE against the WSDL, create a call, set the endpoint and any HTTP proxy, bind parameters, INVOKE, read outputs with GET_OUTPUT_VALUES, then release the call and service in an exception-safe block.

Several operational constraints apply. The database JVM must be installed and the Java classes behind the package must be loaded; the account performing the call requires the appropriate network ACL grants under 11g and later, since outbound HTTP is controlled by DBMS_NETWORK_ACL_ADMIN rather than by database privileges alone. Wallets or proxy credentials must be configured where the remote endpoint requires authentication. Resource leaks are a common failure mode, so every CREATE_SERVICE and CREATE_CALL should be paired with its RELEASE counterpart in the exception handler. Finally, because calls are synchronous, long-running or unreliable endpoints can block the calling session; timeouts and retry logic should be implemented in the wrapper layer rather than assumed from the package.

For 12.2.2, the documented API surface is unchanged from 12.1.1, so upgrade impact on existing integrations is minimal. Note that the package is not referenced by any other documented package, confirming that it is intended for direct, developer-written integration code.