By Juergenkress-Oracle on Jan 26, 2015
ADF web applications often use session-scoped user context information that is also used in the ADF Business Components (ADF BC) layer. For example, the user language might be used to query language-specific data from the database. This article explains how this user context can be set up when accessing the ADF BC layer through its SOAP-based web service layer rather than through a web application.
To access session information in the ADF BC layer, ADF developers typically use the ADFContext object. For example, when the preferred user language is stored on the HTTP Session under the key “userLanguage”, this information can be accessed in the ADF BC layer using the following statement:
String language = (String)ADFContext.getCurrent().getSessionScope().get("userLanguage");
This value can then be used in the prepareSession method of an application module method to set the user language in a database context package. This saves us the tedious work of passing in the user language as a bind variable to every database query.
When accessing an application module as a SOAP web service using the SDO service interface
we need to set up the same data in the ADFContext to ensure the
database queries can be executed correctly.This can be done by creating a
SOAP Message Handler.
A SOAP message handler provides a mechanism for intercepting the SOAP
message and header in both the request and response of the Web service.
To add a SOAP message handler to our ADF BC service interface, we add
the HandlerChain annotation at the top of our application module SDO
service class: Read the complete article here.
For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.