Search Results release_all_services
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.
- Qualified name handling: TO_QNAME constructs a QName from a namespace URI and local part using predefined namespace constants such as xsd, xsi, soapenc, and soapenv; GET_NAMESPACE_URI and GET_LOCAL_PART decompose an existing QName.
- Service lifecycle: CREATE_SERVICE instantiates a Service handle either from a service QName alone or from a WSDL document location plus service QName. GET_PORTS enumerates the ports available on a service, and GET_OPERATIONS enumerates the operations exposed by a port. RELEASE_SERVICE and RELEASE_ALL_SERVICES free the associated handles and resources.
- Call construction and configuration: CREATE_CALL builds a Call object for a given port and operation. SET_TARGET_ENDPOINT_ADDRESS overrides the endpoint defined in the WSDL. SET_HTTP_PROXY configures outbound proxy routing. GET_PROPERTY, SET_PROPERTY, and REMOVE_PROPERTY manipulate call and service properties. GET_RETURN_TYPE, GET_IN_PARAMETER_TYPES, and GET_OUT_PARAMETER_TYPES expose the signature of the bound operation. RELEASE_CALL releases an individual Call handle.
- Invocation and results: INVOKE executes the SOAP operation and returns the response, while GET_OUTPUT_VALUES retrieves the output parameters produced by the invocation.
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.
-
PACKAGE: SYS.UTL_DBWS
12.1.1
-
PACKAGE: SYS.UTL_DBWS
12.2.2
-
PACKAGE BODY: SYS.UTL_DBWS
12.1.1
-
PACKAGE BODY: SYS.UTL_DBWS
12.2.2