JNDI tree replicated to an external global naming service
Hi!
Is it possible to have a JNDI tree replicated to an external
global naming service? For instance, to merge two clusters
of WLS 5.1 servers from two different network zones?
Thanking you in advance,
Guillaume Bedard
Yes, you can use federation do achieve this but remember federation is
just putting a refence that points to the original JNDI provider and
doesn't really give you replication of the entire JNDI namespace.
Guillaume Bedard wrote:
Hi!
Can you elaborate as to what makes it impossible?
What if we "federate" the two clusters, which have their
own autonomous naming systems, by binding a reference to
these naming systems in another naming service?
Thanks,
Guillaume
"Raja Mukherjee" <[email protected]> wrote:
No
..raja
"Guillaume Bedard" <[email protected]> wrote in message
news:3cab4a00$[email protected]..
More specifically, I would like be able to join two clusters
(each having their own cluster-wide replicated naming tree)
by replicating their bindings into a global naming tree,
possibly hosted by a dedicated "jndi" server.
Guillaume
"Raja Mukherjee" <[email protected]> wrote:
My immediate response would be 'No', but I am confused as to what
are
you
trying to achieve?
..raja
"Guillaume Bedard" <[email protected]> wrote in message
news:3ca9cd9c$[email protected]..
Hi!
Is it possible to have a JNDI tree replicated to an external
global naming service? For instance, to merge two clusters
of WLS 5.1 servers from two different network zones?
Thanking you in advance,
Guillaume Bedard
Similar Messages
-
We are running multiple WL servers (vers. 2.5.1 non-clustered)
registered to
different ports and would like to have the component names of one server
known to the other. Is there a way of doing this w/o having to
hard-code
that component A lives on machineX : port 999 or buying the clustering
option?Yes, you can use federation do achieve this but remember federation is
just putting a refence that points to the original JNDI provider and
doesn't really give you replication of the entire JNDI namespace.
Guillaume Bedard wrote:
Hi!
Can you elaborate as to what makes it impossible?
What if we "federate" the two clusters, which have their
own autonomous naming systems, by binding a reference to
these naming systems in another naming service?
Thanks,
Guillaume
"Raja Mukherjee" <[email protected]> wrote:
No
..raja
"Guillaume Bedard" <[email protected]> wrote in message
news:3cab4a00$[email protected]..
More specifically, I would like be able to join two clusters
(each having their own cluster-wide replicated naming tree)
by replicating their bindings into a global naming tree,
possibly hosted by a dedicated "jndi" server.
Guillaume
"Raja Mukherjee" <[email protected]> wrote:
My immediate response would be 'No', but I am confused as to what
are
you
trying to achieve?
..raja
"Guillaume Bedard" <[email protected]> wrote in message
news:3ca9cd9c$[email protected]..
Hi!
Is it possible to have a JNDI tree replicated to an external
global naming service? For instance, to merge two clusters
of WLS 5.1 servers from two different network zones?
Thanking you in advance,
Guillaume Bedard -
How to bind an object to JNDI tree in iAS?
Hi all,
When I try to bind a string object to jndi tree, the following exception
occurs:
javax.naming.NamingException: Unable to get object instance from reference.
Roo
t exception is javax.naming.NamingException: Can't bind instance of class
java.lang.String
at com.netscape.server.jndi.RootContext.bindCtx(Unknown Source)
at com.netscape.server.jndi.RootContext.rebind(Unknown Source)
at com.netscape.server.jndi.RootContext.rebind(Unknown Source)
at javax.naming.InitialContext.rebind(InitialContext.java:385)
at jsp.APPS.bmx.test2._jspService(test2.java:76)
at jsp.APPS.bmx.test2.service(test2.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown
Source)
The code fragment is:
Context ctx = new InitialContext();
String str = "hell,every one!";
ctx.rebind("abc", str);
Can anyone give some help? Thanks in advance.
JohnsonTo bind an object into the JNDI tree check the documentation here:
http://e-docs.bea.com/wls/docs81/jndi/jndi.html#475702
If this is to be used by all your applications that you deploy on the server check out the startup/shutdown class documentation here:
http://edocs.bea.com/wls/docs81/ConsoleHelp/startup_shutdown.html
Cheers
IV -
Summary of problem: Get a javax.naming.NamingNotFoundException when selecting the DataSource (see the configuration below) in server JNDI tree in Admin Console
TheConnection Pool and a corresponding DataSource are configured as follows:
<JDBCDataSource
JNDIName="jdbc.PNStoreDB"
Name="PNStoreDB"
PoolName="PNStorePool"
Targets="serverA"
/>
<JDBCConnectionPool
CapacityIncrement="2"
DriverName="weblogic.jdbc.oci.Driver"
InitialCapacity="2"
LoginDelaySeconds="1"
MaxCapacity="10"
Name="PNStorePool"
Properties="user=rms;password=rms;server=ora81"
RefreshMinutes="10"
Targets="serverA"
TestTableName="dual"
URL="jdbc:weblogic:oracle"
/>
Can't figure out why this is happening. The following is output to the Admin Server command prompt:
<May 18, 2001 10:20:02 AM EDT> <Error> <HTTP> <[WebAppServletContext(6233000,console)] exception raised on '/console/panel
javax.naming.NameNotFoundException: Unable to resolve jdbc. Resolved: '' Unresolved:'jdbc' ; remaining name ''
<<no stack trace available>>
I tried using a different JNDI name for the DataSource (e.g. just PNStoreDB) with no success.
The weird thing is that it messes up other resources bound in the JNDI tree. For e.g. I have some EJB's bound under ejb/XXXX that I can click on and view in the Admin Console (JNDI tree) before I add the pool and DataSource. After I add them though, I see the same NameNotFoundException for these as well.
Thanks in advance for your help.
[att1.html]Are you sure that the connection pool and datasource deployed
successfully? (Check the logs for an error.)
Also, I suspect that you want a TxDataSource instead of a
JDBCDataSource.
-- Rob
Weblogic NewsGroups wrote:
Summary of problem: Get a javax.naming.NamingNotFoundException when
selecting the DataSource (see the configuration below) in server JNDI
tree in Admin Console
TheConnection Pool and a corresponding DataSource are configured as
follows:
<JDBCDataSource
JNDIName="jdbc.PNStoreDB"
Name="PNStoreDB"
PoolName="PNStorePool"
Targets="serverA"
/>
<JDBCConnectionPool
CapacityIncrement="2"
DriverName="weblogic.jdbc.oci.Driver"
InitialCapacity="2"
LoginDelaySeconds="1"
MaxCapacity="10"
Name="PNStorePool"
Properties="user=rms;password=rms;server=ora81"
RefreshMinutes="10"
Targets="serverA"
TestTableName="dual"
URL="jdbc:weblogic:oracle"
/>
Can't figure out why this is happening. The following is output to
the Admin Server command prompt:
<May 18, 2001 10:20:02 AM EDT> <Error> <HTTP>
<[WebAppServletContext(6233000,console)] exception raised on
'/console/panel
javax.naming.NameNotFoundException: Unable to resolve jdbc. Resolved:
'' Unresolved:'jdbc' ; remaining name ''
<<no stack trace available>>
I tried using a different JNDI name for the DataSource (e.g. just
PNStoreDB) with no success.
The weird thing is that it messes up other resources bound in the JNDI
tree. For e.g. I have some EJB's bound under ejb/XXXX that I can
click on and view in the Admin Console (JNDI tree) before I add the
pool and DataSource. After I add them though, I see the same
NameNotFoundException for these as well.
Thanks in advance for your help.--
Coming Soon: Building J2EE Applications & BEA WebLogic Server
by Michael Girdley, Rob Woollen, and Sandra Emerson
http://learnweblogic.com -
Im currently working on some code and Im really in need of a naming service, preferably one with a service provider for JNDI. In essence what Im looking for is a very basic name server, although knowing little about the suject at this point Im thinking that ldap, nis are really not well suited to my needs as my key goal is mapping names to references( under dynamic contexts), which Ive allready half implemented. As things are getting more complex and what Ive implemented of rather poor design, Im starting to feel like Im going to have a rough month or two ahead of me!! I dont want to re-invent the wheel and I know in my heart someone has allready coded the software I need!!! Unfortunately My search has been fruitless. Id greatly appreciate it if someone can steer me in the right direction. In the meantime I think Ill be pulling my hair out trying to figure out how to code the software I need.... Sorry for not fully explaining what Im after, if not enough info just let me know and Ill try to provide more detail.............
Hi Prisco,
You can go very well fo JNDI. And you can use Netscape or Iplanet Directory server as LDAP server.
Please Download the Directory Server from this URL.
http://www.iplanet.com/downloads/download/2087.html
Also here with I am giving you a simple Authentication program, which makes use of JNDI and Netscape Directory server. If you follow these steps, you will get a good idea about JNDI.
DESCRIPTION:
I am trying to use LDAP to control access to a HTML page. I want an authentication
box to pop up, allowing the user to authenticate to the HTML page through a LDAP server.
If they succesfully authenticate, I need to check their username against a list
of valid usernames that's stored in a database, then give access to the page
based on that list. How can I implement this solution?
SOLUTION:
The best way is to use Basic Authentication solution with JNDI and LDAP server,
Netscape Directory server(for example) with a simple servlet program. Java Naming
and Directory Interface (JNDI) API is standardized, and enable to use different
directory services such as Netscape Directory server. LDAP server can be used
for storing some common data's used in the sample solution.
It can be done through a servlet to check the user and its password which is
stored in the LDAP server.
In order to demonstrate a sample solution, I will use the Netscape Directory
Server 4.13 as the LDAP server, which is loaded my own LDIF file with customized
attributes. The basic authentication algorithm will be used in this sample
solution.
The following steps are to implement this sample solution:
1. Creating our own LDAP data Interchange format (LDIF) file.
2. Loading(Import) the Ldif file in Netscape Directory Server.
3. Creation of user schema files for customized attributes.
4. Load the user schema files in the Netscape Directory Server.
5. Restart the Directory Server
6. A simple servlet program for basic authentication.
7. A sample HTML file is given last, used in servlet program.
Here are the detail description of the above steps:
STEP 1: Creating our own LDAP data Interchange format (LDIF) file:
Here is the LDIF (LDAP data Interchange format) file is a text based format used to work
on LDAP data, with both our application and end users.
Through this LDIF file, I am having an attribute "customerid: timb" for which I will
be preparing the authentication, which will have its own password
"userpassword: bakrudeen", through which it can be maintained in a common place.
Here again in the same LDIF file, other information related to the "customerid: timb"
such as common name "cn: Tim Briggs", sur name "sn: Briggs" etc are maintained.
The data in LDAP is organized in a tree, called a Directory Information tree(DIT).
Each leaf in DIT is called an entry. The first entry in DIT is called the root entry.
Here is a sample LDIF File which is used in our sample solution:-
Here the DIT is maintained in such a way data is organized in LDAP, is fairly simple. In this
sample we store all of our entries in a common root o=fedup.com, with the following branches
Customers - Customer Entries with " customer id: timb" , userpassword: bakrudeen, and other
information related to this customer is kept in a common place.
dn: uid=timb,ou=Customers,o=fedup.com
changetype:add
objectclass: customer
objectclass: inetorgperson
objectclass: organizationalPerson
objectclass: person
objectclass: top
cn: Tim Briggs
uid: timb
givenname: Tim
customerid: timb
sn: Briggs
facsimiletelephonenumber: 4101
telephonenumber: 4145
creatorsname: uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot
createtimestamp: 20000501084001Z
aci: (target="ldap:///uid=timb,ou=Customers,o=fedup.com")(targetattr="*")(version 3.0; acl "unknown"; allow (all)(userdn = "ldap:///anyone");)
ou: Customers
mail:
userpassword: bakrudeen
modifiersname: uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot
modifytimestamp: 20000605084001Z
STEP 2: Loading(Import) the Ldif file in Netscape Directory Server:-
Once after creating the above sample LDIF File, it should be added in Netscape Directory Server.
It should be imported in order to add the neccessary atributes in the Netscape Directory server,
so that we can make use of the Common data.
Steps for Importing the LDIF file in the Directory Server:-
1) Create an instance of the Directory Server.
2) Bind it to the different port with different organizational unit
(Here in this program, it is 1124).
3) Press the Configuration from the menu.
4) Then select import from the Console menu.
5) Choose the LDIF file you are going to import.
6) There also you have to provide a file for rejected entries, ie it will list all the entries
which is not added while loading.
STEP 3: Creation of our own USER SCHEMA Files:-
It is necessary for adding the attributes which are not defined in the
Netscape directory server. In the above, customerid which is defined in ldif
file is not existing in the directory server.
Here is the Schema file for attributes:(ie for defining for eg customer id).
The name of the file is slapd.user_at.conf:-
attribute customerid customerid-oid cis single
attribute packageid packageid-oid cis single
attribute receivedate receivedate-oid cis single
attribute shipdate shipdate-oid cis single
attribute shipperid shipperid-oid dn single
attribute receiveid receiveid-oid dn single
#Java Attributes
# Schema for storing java objects and java object references
attribute javaClassName 1.3.6.1.4.1.42.2.27.4.1.1 ces single
attribute javaCodebase 1.3.6.1.4.1.42.2.27.4.1.6 ces
attribute javaSerializedData 1.3.6.1.4.1.42.2.27.4.1.7 bin single
attribute javaRemoteLocation 1.3.6.1.4.1.42.2.27.4.1.8 ces single
attribute javaFactory 1.3.6.1.4.1.42.2.27.4.1.4 ces single
attribute javaReferenceAddress 1.3.6.1.4.1.42.2.27.4.1.3 ces
Here is Schema file for your own object classes:-
The name of the file is Slapd.user_oc.conf:-
In the similar way as above there are no "customer" class in the object classes
defined in the LDAP, so we will have to create our own "customer" Object class.
Also it extends inetOrgPerson to add some new attributes such as "customerid".
The object class of an entry specifies what attributes are required and what
attributes are allowed in a particular entry.
Also for eg, Package classes in the object class is created.
Here is the sample file for creating the above:-
objectclass package
oid package-oid
superior top
requires
packageid,
receiveid,
shipdate,
shipperid
allows
description,
ou,
receivedate
objectclass customer
oid customer-oid
superior inetorgperson
requires
customerid
allows
c
#JAVA Schema
# Schema for storing java objects and java object references
objectclass javaContainer
oid 1.3.6.1.4.1.42.2.27.4.2.1
superior top
requires
cn
objectclass javaObject
oid 1.3.6.1.4.1.42.2.27.4.2.4
superior top
requires
javaClassName
allows
javaCodebase
objectclass javaSerializedObject
oid 1.3.6.1.4.1.42.2.27.4.2.5
superior javaObject
requires
javaSerializedData
objectclass javaRemoteObject
oid 1.3.6.1.4.1.42.2.27.4.2.6
superior javaObject
requires
javaRemoteLocation
objectclass javaNamingReference
oid 1.3.6.1.4.1.42.2.27.4.2.7
superior javaObject
requires
javaReferenceAddress,
javaFactory
STEP 4: Loading the USER SCHEMA files in Directory Server:-
All the attributes created above should be added to the corresponding directory server,
in order to make it as a common attribute.
Steps for adding the User Schema files to the Directory Server:-
1. Copy the above user schema files to the appropriate instance of Netscape Directory Server
created above so that the existing LDIF file which is used in the Netscape directory
server is not appended or overwritten.
2. For eg, put it in "NetscapeServer/slapd-HostName/config" to replace the empty
files "slapd.user_at.conf" and "slapd.user_oc.conf" by default.
3. Then restart the Directory Server.
STEP 5: Simple Servlet Program for BASIC AUTHENTICATION.
Here is the simple servlet program for Basic Authentication:-
Here the way the LDAP authentication works is by attempting to the server with a
DN and a password. No user in their right mind will remember their DN, so we use
some other attribute such as user-id. Then we search in the LDAP server to find
an entry that contains the attribute. Here we are maintaining SUBTREE_SCOPE using
JNDI, which starts its search starting from the base entry, and searches
everything below it including the base entry. Also I am maintaining Global
variables for LDAP setting.
// Importing the necessary Packages
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;
import javax.naming.directory.*;
public class AuthServ extends HttpServlet {
// Here are our global variables of our LDAP Settings.
public static String MY_CUSTOMER_BASE = "ou=Customers,o=fedup.com";
public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
public static int MY_PORT = 1124;
public static String MY_HOST = "ldap://sundts1.india.sun.com:" + MY_PORT;
public static String MY_MGR = "cn=Directory Manager";
public static String MY_PWD = "password";
public static String MY_SEARCHBASE = "o=fedup.com";
Hashtable env = new Hashtable();
// Using the Get Method of Servlet
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
// To Check to See if there is any data in the "Authorization" Http header from the browser.
// If not it will prompt for username and password.
String auth = req.getHeader("Authorization");
// Do we allow the user
if (!allowedUser(auth) ) {
// Not Allowed, so report unauthorized
res.setStatus(res.SC_UNAUTHORIZED);
res.setHeader("WWW-Authenticate", "BASIC realm=\"users\"");
// User is allowed in
else
// Using SSI to include and display the content of a Simple HTML Page
RequestDispatcher rd= this.getServletContext().getRequestDispatcher("/auth.html");
rd.include(req,res);
// This method checks to see whether the user exist in the LDAP database.
protected boolean allowedUser(String auth) throws IOException {
Hashtable env = new Hashtable();
boolean status = false;
try {
// No Authorization
if (auth == null) return false;
// Basic Authentication is Handled, Other possibilities are MD5 hash or SSL Certificates.
if (!auth.toUpperCase().startsWith("BASIC ")) {
return false; //only do BASIC
// Get encoded user and password, comes after BASIC
String userpassEncoded = auth.substring(6);
// Decode it, using any base 64 decoder
sun.misc.BASE64Decoder dec = new sun.misc.BASE64Decoder();
String userpassDecoded = new String(dec.decodeBuffer(userpassEncoded));
StringTokenizer st = new StringTokenizer(userpassDecoded,":");
String customerid = st.nextToken();
String pwd = st.nextToken();
Please Note:
LDAP Authentication works by attempting to bind to the server with a DN and a password.
No user will remember their DN so we use some other attribute such as user-id.
Then we search in the LDAP server to find an entry in the LDAP server to find an entry
that contains the attribute.
For a Secure System, we should use an attribute that will be unique per entry such as
uid, in our case the "customerid" attribute.
// Prepare for context
env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
env.put(Context.PROVIDER_URL, MY_HOST);
// Get a reference to a directory context
DirContext ctx = new InitialDirContext(env);
// Specify the scope of the search
SearchControls constraints = new SearchControls();
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
// Perform the actual search
// We give it a searchbase, a filter and the constraints
// containing the scope of the search
NamingEnumeration results =
ctx.search(MY_CUSTOMER_BASE, "(customerid=" + customerid + ")", constraints);
String dn = null;
If it does not throw an exception,
then it is considered to be an Successful Authentication
// Now step through the search results
while (results != null && results.hasMore()) {
SearchResult sr = (SearchResult) results.next();
dn = sr.getName() + "," + MY_CUSTOMER_BASE;
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, dn);
env.put(Context.SECURITY_CREDENTIALS, pwd);
try {
DirContext ctx2 = new InitialDirContext(env);
status = true;
} catch (AuthenticationException e) {
log(e.toString());
} catch (NamingException x) {
log(x.toString());
return status;
STEP 6: Simple HTML file used in Servlet Program:-
Here is the Simple HTML File we are including in RequestDispatcher of the above program:-
<html>
<head>
<title> Authorisation</title>
</head>
<body>
<h1> Your Authorisation is Successful </h1>
</body>
</html>
I hope this will help you.
Thanks
Bakrudeen -
Hi
I am just a starter on WLPortal.
I have created a barebone Application from scratch. I have synchronized it properly
from EBCC to WLP. But When I am trying to access the home page of my application,
I am getting from stack trace -
<Nov 6, 2002 5:37:59 PM IST> <Error> <PortalAppflow> <Could not lookup PortalManagerHome
in the JNDI tree using EJB reference java:comp/env/ejb/PortalManager.
javax.naming.NameNotFoundException: Unable to resolve comp/env/ejb/PortalManager
Resolved: 'comp/env' Unresolved:'ejb' ; remaining name 'PortalManager'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:802)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:173)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:181)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:181)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:36)
at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:124)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at com.bea.p13n.util.JndiHelper.lookupNarrow(JndiHelper.java:96)
at com.bea.portal.appflow.PortalAppflowHelper.<clinit>(PortalAppflowHelper.java:64)
at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.init(PortalWebflowServlet.java:78)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:700)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:643)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:588)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:368)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:215)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:112)
at jsp_servlet.__index._jspService(__index.java:92)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:304)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2459)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
<Nov 6, 2002 5:37:59 PM IST> <Error> <HTTP> <[WebAppServletContext(19695286,FirstWebApp,/FirstWebApp)]
Servlet failed with Exception
java.lang.NullPointerException:
at com.bea.portal.appflow.PortalAppflowHelper.createPortalManager(PortalAppflowHelper.java:82)
at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.setupPortalRequest(PortalWebflowServlet.java:187)
at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.doGet(PortalWebflowServlet.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:215)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:112)
at jsp_servlet.__index._jspService(__index.java:92)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:304)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2459)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
When I decompiled the class PortalAppflowHelper, I found a static block in it,
which was as under-
static
debug = Debug.getInstance(com.bea.portal.appflow.PortalAppflowHelper.class);
try
if(debug.ON)
debug.out("Looking up PortalManagerHome using EJB reference java:comp/env/ejb/PortalManager");
portalManagerHome = (PortalManagerHome)JndiHelper.lookupNarrow("java:comp/env/ejb/PortalManager",
com.bea.portal.manager.ejb.PortalManagerHome.class);
if(debug.ON)
debug.out("Successfully retrieved PortalManagerHome " + portalManagerHome);
catch(Exception e)
PortalAppflowLogger.errorFindingPortalManagerHome("java:comp/env/ejb/PortalManager",
e);
I have checked the PortalManager's JNDI name on WLConsole. Its ${APPNAME}.BEA_portal.PortalManager.
Should I change it?
When I tried to change it, I started getting other weird errors.
Thanks
Neeraj HansNeeraj -
The Portal framework code (including PortalAppflowHelper) uses ejb
references to find the PortalManager (and other EJBs) from servlets and
taglibs; that is what is signified by the java:comp/env/... name.
Since you built your webapp from scratch (instead of using the portal
wizard), you will need to make sure the you have the appropriate
<ejb-ref> entries in your web.xml, and the corresponding
<ejb-reference-description> entries in your weblogic.xml. By default,
you will need at least mappings for:
- ejb/PortalManager
- ejb/UserManager
- ejb/GroupManager
- ejb/PipelineExecutor
- ejb/EventService
See either the resulting webapp from using the portal wizard or
BEA_HOME/weblogic700/samples/portal/sampleportalDomain/beaApps/sampleportal/sampleportal/WEB-INF
for example syntax.
Greg
Neeraj Hans wrote:
Hi
I am just a starter on WLPortal.
I have created a barebone Application from scratch. I have
synchronized it properly
from EBCC to WLP. But When I am trying to access the home page of my
application,
I am getting from stack trace -
<Nov 6, 2002 5:37:59 PM IST> <Error> <PortalAppflow> <Could not lookup
PortalManagerHome
in the JNDI tree using EJB reference java:comp/env/ejb/PortalManager.
javax.naming.NameNotFoundException: Unable to resolve
comp/env/ejb/PortalManager
Resolved: 'comp/env' Unresolved:'ejb' ; remaining name 'PortalManager'
at <stack trace lines snipped>
When I decompiled the class PortalAppflowHelper, I found a static
block in it,
which was as under-
static
debug =
Debug.getInstance(com.bea.portal.appflow.PortalAppflowHelper.class);
try
if(debug.ON)
debug.out("Looking up PortalManagerHome using EJB
reference java:comp/env/ejb/PortalManager");
portalManagerHome =
(PortalManagerHome)JndiHelper.lookupNarrow("java:comp/env/ejb/PortalManager",
com.bea.portal.manager.ejb.PortalManagerHome.class);
if(debug.ON)
debug.out("Successfully retrieved PortalManagerHome "
+ portalManagerHome);
catch(Exception e)
PortalAppflowLogger.errorFindingPortalManagerHome("java:comp/env/ejb/PortalManager",
e);
I have checked the PortalManager's JNDI name on WLConsole. Its
${APPNAME}.BEA_portal.PortalManager.
Should I change it?
When I tried to change it, I started getting other weird errors.
Thanks
Neeraj Hans -
Unable to Find EJB in JNDI Tree
Good Morning to All!
I have been scratching my head all day yesterday trying to understand this error:
[2005-06-15 09:44:38,203][Servlet.Engine.Transports : 1][FATAL][{ServiceLocator}{getHome}{CONFIG0001}{Failed to find EJB Reference from JNDI tree}{External Message:Name comp/env/ejb not found in context "java:".}]
{ServiceLocator}{getHome}{CONFIG0001}{Failed to find EJB Reference from JNDI tree}{External Message:Name comp/env/ejb not found in context "java:".}
What is going on is the user is logging into the web application. The process is the user comes in from the web container and enters the EJB container through the AdminEJB. The AdminEJB has a reference to a singleton POJO entitled ServiceLocator. This POJO follows the locator pattern. One of the things the Locator is attempting to accomplish is retrieving the CacheEJBLocalHome. This Cache ejb has a JNDI name of
ejb/CacheEJBHome
I have promoted the Cache ejb to the Local and the Remote interfaces using WSAD.
I realize the lookup method can not find the EJB, but I do not know what is causing this behavior. I originally thought the AdminEJB needed a bean reference to the CacheEJB, but this did not work.
Any insight or debugging techniques into this issue would be greatly appreciated.
Thank you for reading my post.
RussHi Ten,
FYI, just by placing the ejb jar inside EAR project it will not be picked up for deployment. The EJB module has to be defined on EAR Module Assembly, and the steps are:
> EAR Project | Properties, Deployment Assembly - Add EJB module
NOTE: To verify the dependency you could try to export the EAR project to an .ear file. If the exported .ear file bundles ejb jar then deployment should work fine.
As far as the deployment mode, OEPE supports WebLogic Split-source (default) and Exploded archive. In the default split-source mode, the .beabuild.txt contains the mapping to the actual files whereas in exploded archive the files are copied over to deployment staging location.
Steps to modify deployment mode:
> In the server view, right click on server configuration | Properties, select WebLogic | Publishing
Please make sure the ejb module is defined appropriately and let me know if this resolves the issue.
Thanks,
Ram -
Hi
I'm facing the following problem while viewing the JNDI tree. I had configured
two servers ejbServer,ejbServer1 both clustered, i can able to start both the
servers, but in the JNDI tree when i click ejbServer or Replication Manager
i'm getting the following error please help me out.
An unexpected error was encountered in processing your request.
Exception
javax.naming.NameNotFoundException: Unable to resolve weblogic.transaction.coordinators.ejbServer.
Resolved: 'weblogic.transaction.coordinators' Unresolved:'ejbServer' ; remaining
name ''
<>
Current Date
Mon Aug 27 09:15:19 GMT+08:00 2001
Console Release Build
6.0 Service Pack 2
Console Build
6.0 Service Pack 2 05/24/2001 11:55:28 #117037
Server Release Build
6.0 Service Pack 2
Server Build
6.0 Service Pack 2 05/24/2001 11:55:28 #117037
All Server Product Versions
WebLogic Server Build: 6.0 Service Pack 2 05/24/2001 11:55:28 #117037
WebLogic XML Module: 6.0 Service Pack 2 05/24/2001 12:34:27 #117037
Request Info
Protocol: HTTP/1.1
ServerName: 127.0.0.1
ServerPort: 7001
Secure: false
ContextPath: /console
ServletPath: /common/error.jsp
QueryString: null
PathInfo: null
PathTranslated: null
RequestURI: /console/common/error.jsp
AuthType: Basic
ContentType: null
CharacterEncoding: null
Locale: hi
Method: GET
Session: weblogic.servlet.internal.session.MemorySessionData@37b6ef
RequestedSessionId: O4meRts3MSQ1pr2YCfOsUGA3MckiUv6wmiQVYrdcQBy3oYpYTz2Q/console
RequestedSessionIdFromCookie: true
RequestedSessionIdFromURL: false
UserPrincipal: system
RemoteUser: system
RemoteAddr: 127.0.0.1
RemoteHost: localhost
Parameters
binding = ejbServer
context = weblogic.transaction.coordinators
Attributes
console.original./console/common/error.jsp.ContextPath = /console
console.original./console/common/error.jsp.Method = GET
console.original./console/common/error.jsp.RemoteUser = system
console.original./console/common/error.jsp.RequestURI = /console/common/error.jsp
console.original./console/common/error.jsp.ServletPath = /common/error.jsp
console.original./console/panels/mbean/JNDIBinding.jsp.ContextPath = /console
console.original./console/panels/mbean/JNDIBinding.jsp.Method = GET
console.original./console/panels/mbean/JNDIBinding.jsp.QueryString = context=weblogic.transaction.coordinators&binding=ejbServer
console.original./console/panels/mbean/JNDIBinding.jsp.RemoteUser = system
console.original./console/panels/mbean/JNDIBinding.jsp.RequestURI = /console/panels/mbean/JNDIBinding.jsp
console.original./console/panels/mbean/JNDIBinding.jsp.ServletPath = /panels/mbean/JNDIBinding.jsp
console.preferences.ContextKey = /panels/mbean/JNDIBinding.jsp
javax.servlet.include.context_path = /console
javax.servlet.include.request_uri = /console/common/requestinfo.jsp
javax.servlet.include.servlet_path = /common/requestinfo.jsp
javax.servlet.jsp.jspException = javax.naming.NameNotFoundException:
Unable to resolve weblogic.transaction.coordinators.ejbServer. Resolved: 'weblogic.transaction.coordinators'
Unresolved:'ejbServer' ; remaining name ''
weblogic.httpd.user = system
weblogic.management.console.tags.ContentTag = java.lang.Object@397a54
weblogic.management.console.tags.HeaderTag = java.lang.Object@e4a33
Headers
Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel,
application/msword, application/vnd.ms-powerpoint, */*
Accept-Encoding = gzip, deflate
Accept-Language = hi
Authorization = Basic c3lzdGVtOm1hbmFnZXIx
Connection = Keep-Alive
Cookie = JSESSIONID=O4meRts3MSQ1pr2YCfOsUGA3MckiUv6wmiQVYrdcQBy3oYpYTz2Q!2557472653882942880!-1062729946!7001!7002
Host = 127.0.0.1:7001
User-Agent = Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
BrowserInfo
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
IE: true
Netscape: false
Supported: true
JavscriptHrefs: false
TableCellClick: true
DocumentReloadedOnResize: false
DropdownStretchable: true
CellSpacingBlank: false
EmptyCellBlank: false
ImgOnclickSupported: true
TableBorderFancy: true
PartialToWideTables: false
Server System Properties
awt.toolkit = sun.awt.windows.WToolkit
bea.home = d:\Weblogic
cloudscape.system.home = ./samples/eval/cloudscape/data
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
java.awt.fonts =
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = .;d:\Weblogic\jdk130\lib\tools.jar;d:\Weblogic\wlserver\lib\weblogic_sp.jar;d:\Weblogic\wlserver\lib\weblogic.jar;d:\Weblogic\wlserver\lib\xmlx.jar;d:\Weblogic\wlserver\lib\ejb20.jar;d:\Weblogic\wlserver\samples\eval\cloudscape\lib\cloudscape.jar;;;;d:\Weblogic;d:\Weblogic\wlserver\bin\oci816_8;d:\Oracle_Home\iSuites\jdbc\lib\classes12.zip;d:\Weblogic\wlserver\lib;d:\Oracle_Home\iSuites\lib\xmlparserv2.jar;d:\JDeveloper\lib\xsu12.jar;;
java.class.version = 47.0
java.ext.dirs = d:\Weblogic\jdk130\jre\lib\ext
java.home = d:\Weblogic\jdk130\jre
java.io.tmpdir = C:\TEMP\
java.library.path = d:\Weblogic\jdk130\bin;.;C:\WINNT\System32;C:\WINNT;.\bin;D:\Oracle_Home\iSuites\BIN;D:\Oracle_Home\iSuites\Apache\Perl\5.00503\bin\mswin32-x86;C:\Program
Files\Oracle\jre\1.1.7\bin;C:\WINNT\system32;C:\WINNT;C:\VisualCafeSE\Java2\Bin;C:\Program
Files\Common Files\WebGain Shared;C:\VisualCafeSE\Bin;
java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
java.naming.factory.url.pkgs = weblogic.jndi.factories
java.protocol.handler.pkgs = weblogic.utils|weblogic.utils|weblogic.net|weblogic.management|weblogic.net|weblogic.net|weblogic.utils
java.runtime.name = Java(TM) 2 Runtime Environment, Standard
Edition
java.runtime.version = 1.3.0-C
java.security.policy = =d:\Weblogic\wlserver/lib/weblogic.policy
java.specification.name = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.3
java.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
java.version = 1.3.0
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) Client VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Sun Microsystems Inc.
java.vm.specification.version = 1.0
java.vm.vendor = Sun Microsystems Inc.
java.vm.version = 1.3.0-C
javax.rmi.CORBA.PortableRemoteObjectClass = weblogic.iiop.PortableRemoteObjectDelegateImpl
javax.rmi.CORBA.UtilClass = weblogic.iiop.UtilDelegateImpl
javax.xml.parsers.DocumentBuilderFactory = weblogic.xml.jaxp.RegistryDocumentBuilderFactory
javax.xml.parsers.SAXParserFactory = weblogic.xml.jaxp.RegistrySAXParserFactory
jmx.implementation.name = JMX RI
jmx.implementation.vendor = Sun Microsystems
jmx.implementation.version = 1.0
jmx.specification.name = Java Management Extensions
jmx.specification.vendor = Sun Microsystems
jmx.specification.version = 1.0 Final Release
line.separator =
os.arch = x86
os.name = Windows NT
os.version = 4.0
path.separator = ;
sun.boot.class.path = d:\Weblogic\jdk130\jre\lib\rt.jar;d:\Weblogic\jdk130\jre\lib\i18n.jar;d:\Weblogic\jdk130\jre\lib\sunrsasign.jar;d:\Weblogic\jdk130\jre\classes
sun.boot.library.path = d:\Weblogic\jdk130\jre\bin
sun.cpu.endian = little
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx
pentium i486 i386
sun.io.unicode.encoding = UnicodeLittle
user.dir = D:\Weblogic\wlserver
user.home = C:\WINNT\Profiles\venkata
user.language = en
user.name = venkata
user.region = US
user.timezone = Asia/Singapore
weblogic.Domain = DNSdomain
weblogic.Name = DNSserver
weblogic.management.discover = true
weblogic.security.jaas.Configuration = weblogic.security.internal.ServerConfig
weblogic.security.jaas.Policy = d:/Weblogic/wlserver/lib/Server.policy
[att1.html]
-
Stack dump while trying to view the JNDI Tree on a managed server.
Hi,
We are running WLI 9.2.3.
I have a problem when trying to view the managed servers JNDI Tree via the Admin console. The admin servers JNDI tree appears to be fine, but trying to view the 1st managed servers JNDI Tree via the admin console keeps producing a stack dump.
Does anyone know why this would be? Is it a security issue, judging by the classes below:
####<Jul 14, 2010 1:31:29 PM BST> <Warning> <RMI> <sofatd2b> <tgri02_rsk_ms11> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel
<> <> <1279110689890> <BEA-080004> <An error was thrown by rmi server: weblogic.jndi.internal.RootNamingNode.listBindings(Ljava.lang.String;Ljava.util.Hashtable;)java.lang.StackOverflowError.
java.lang.StackOverflowError
at $Proxy5.isAccessAllowed(Unknown Source)
at com.bea.common.security.internal.service.AccessDecisionServiceImpl.isAccessAllowed(AccessDecisionServiceImpl.java:105)
at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:61)
at $Proxy11.isAccessAllowed(Unknown Source)
at com.bea.common.security.internal.service.AuthorizationServiceImpl.isAccessAllowed(AuthorizationServiceImpl.java:81)
at sun.reflect.GeneratedMethodAccessor201.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:61)
at $Proxy13.isAccessAllowed(Unknown Source)
at weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:461)
at weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:524)
at weblogic.jndi.internal.ServerNamingNode.checkPermission(ServerNamingNode.java:414)
at weblogic.jndi.internal.ServerNamingNode.checkLookup(ServerNamingNode.java:394)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:169)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:196)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:95)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:348)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:196)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:95)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:348)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:196)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:95)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:348)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:196)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:95)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:348)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:196)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:95)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:348)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)Hi,
if it works in Chrome then this Problem is related to IE.
Maybe the URL is to long? IE can "only" handle 2048 Characters.
Regards
-Seb. -
Adapter JNDI are errored out in JNDI tree on Weblogic
Hey,
I have setup weblogic 10.3.4 and SOA Suite 11g.
The adapters seem to be deployed and active with a green 'OK' status in the deployments on the soa_server1. However when I go to the jndi tree for the soa_server1, all the adapters have an '!' for errored out.
This is causing various problems. In particular when a process using the Oracle Apps Adapter is deployed it is unable to find the jdbc connection associated with the adapter. However, the jdbc jndi entry is in the tree and the jdbc connection test's just fine.
So there seems to be a missing link in how the adapters are deployed and how the JNDI is getting updated or something.
The error is below. Any help appreciated.
====> CubeEngine load MIS_INB_WorkOrder_AR_Sync/Process_WO_AR_Sync took 726 ms
INFO: DeploymentEventPublisher.invoke Publishing deploy event for default/MIS_INB_WorkOrder_AR_Sync!1.0*soa_85dcf1de-1d63-4b34-9f99-3e52c1f04366
<Aug 10, 2011 1:25:33 PM EDT> <Warning> <oracle.soa.services.notification> <BEA-000000> <<.> Notification via email, voice, SMS or IM will not be sent. If you would like to enable them, please configure corresponding sdpmessaging driver. Then modify the accounts and set NotificationMode attribute to either NONE, EMAIL or ALL in workflow-notification-config.xml>
INFO: SchemaManager.isIncrementalBuildSupported XMLSchema incremental build enabled.
<Aug 10, 2011 1:25:44 PM EDT> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=> MIS_INB_WorkOrder_AR_Sync Error while performing endpoint Activation: javax.resource.ResourceException: Unable to find data source null>
<Aug 10, 2011 1:25:44 PM EDT> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=> MIS_INB_WorkOrder_AR_Sync
javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:52)
at oracle.tip.adapter.aq.v2.AppsEndpoint.activate(AppsEndpoint.java:51)
at oracle.tip.adapter.aq.v2.jca.AQResourceAdapter.endpointActivation(AQResourceAdapter.java:62)
at oracle.tip.adapter.apps.AppsResourceAdapter.endpointActivation(AppsResourceAdapter.java:152)
at oracle.integration.platform.blocks.adapter.fw.impl.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:494)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performEndpointActivation(JCAEndpointActivation.java:637)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.activateInboundJcaEndpoint(JCAEndpointActivation.java:620)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performActivation(JCAEndpointActivation.java:383)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.endpointActivation(AdapterServiceRevisionRegistry.java:583)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.activate(AdapterServiceRevisionRegistry.java:438)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.setDefaultRevision(AdapterServiceRevisionRegistry.java:403)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeries.setDefaultRevision(AdapterServiceRevisionRegistry.java:328)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeriesSet.setDefaultRevision(AdapterServiceRevisionRegistry.java:134)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry.setDefaultRevision(AdapterServiceRevisionRegistry.java:96)
at oracle.integration.platform.blocks.adapter.AdapterService.defaultRevisionChanged(AdapterService.java:309)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.processDefaultInSeries(FabricKernelInitializerServlet.java:577)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.run(FabricKernelInitializerServlet.java:526)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: java.sql.SQLException: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:97)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:68)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:216)
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:49)
... 19 more
Caused by: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:429)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getConnection(AppsManagedConnectionFactory.java:308)
at oracle.tip.adapter.apps.AppsManagedConnection.getConnection(AppsManagedConnection.java:147)
at oracle.tip.adapter.apps.AppsConnection.getJdbcConnection(AppsConnection.java:77)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:94)
... 22 more
Caused by: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.AppsDataSource'. Resolved 'jdbc'; remaining name 'AppsDataSource'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:426)
... 26 more
>
oracle.fabric.common.FabricDeploymentException: [JCABinding] [MIS_INB_WorkOrder_AR_Sync.consumeARTrgReq/1.0]Unable to complete initialization due to: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
{rootCauses=[]}
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry.access$3600(AdapterServiceRevisionRegistry.java:66)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.endpointActivation(AdapterServiceRevisionRegistry.java:608)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.activate(AdapterServiceRevisionRegistry.java:438)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.setDefaultRevision(AdapterServiceRevisionRegistry.java:403)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeries.setDefaultRevision(AdapterServiceRevisionRegistry.java:328)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeriesSet.setDefaultRevision(AdapterServiceRevisionRegistry.java:134)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry.setDefaultRevision(AdapterServiceRevisionRegistry.java:96)
at oracle.integration.platform.blocks.adapter.AdapterService.defaultRevisionChanged(AdapterService.java:309)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.processDefaultInSeries(FabricKernelInitializerServlet.java:577)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.run(FabricKernelInitializerServlet.java:526)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: BINDING.JCA-12517
Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
at oracle.integration.platform.blocks.adapter.fw.impl.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:513)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performEndpointActivation(JCAEndpointActivation.java:637)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.activateInboundJcaEndpoint(JCAEndpointActivation.java:620)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performActivation(JCAEndpointActivation.java:383)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.endpointActivation(AdapterServiceRevisionRegistry.java:583)
... 11 more
Caused by: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:52)
at oracle.tip.adapter.aq.v2.AppsEndpoint.activate(AppsEndpoint.java:51)
at oracle.tip.adapter.aq.v2.jca.AQResourceAdapter.endpointActivation(AQResourceAdapter.java:62)
at oracle.tip.adapter.apps.AppsResourceAdapter.endpointActivation(AppsResourceAdapter.java:152)
at oracle.integration.platform.blocks.adapter.fw.impl.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:494)
... 15 more
Caused by: java.sql.SQLException: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:97)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:68)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:216)
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:49)
... 19 more
Caused by: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:429)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getConnection(AppsManagedConnectionFactory.java:308)
at oracle.tip.adapter.apps.AppsManagedConnection.getConnection(AppsManagedConnection.java:147)
at oracle.tip.adapter.apps.AppsConnection.getJdbcConnection(AppsConnection.java:77)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:94)
... 22 more
Caused by: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.AppsDataSource'. Resolved 'jdbc'; remaining name 'AppsDataSource'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:426)
... 26 more
<Aug 10, 2011 1:25:44 PM EDT> <Error> <oracle.integration.platform> <SOA-20020> <Deployment of composite "MIS_INB_WorkOrder_AR_Sync" failed: [JCABinding] [MIS_INB_WorkOrder_AR_Sync.consumeARTrgReq/1.0]Unable to complete initialization due to: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.Hey,
I have setup weblogic 10.3.4 and SOA Suite 11g.
The adapters seem to be deployed and active with a green 'OK' status in the deployments on the soa_server1. However when I go to the jndi tree for the soa_server1, all the adapters have an '!' for errored out.
This is causing various problems. In particular when a process using the Oracle Apps Adapter is deployed it is unable to find the jdbc connection associated with the adapter. However, the jdbc jndi entry is in the tree and the jdbc connection test's just fine.
So there seems to be a missing link in how the adapters are deployed and how the JNDI is getting updated or something.
The error is below. Any help appreciated.
====> CubeEngine load MIS_INB_WorkOrder_AR_Sync/Process_WO_AR_Sync took 726 ms
INFO: DeploymentEventPublisher.invoke Publishing deploy event for default/MIS_INB_WorkOrder_AR_Sync!1.0*soa_85dcf1de-1d63-4b34-9f99-3e52c1f04366
<Aug 10, 2011 1:25:33 PM EDT> <Warning> <oracle.soa.services.notification> <BEA-000000> <<.> Notification via email, voice, SMS or IM will not be sent. If you would like to enable them, please configure corresponding sdpmessaging driver. Then modify the accounts and set NotificationMode attribute to either NONE, EMAIL or ALL in workflow-notification-config.xml>
INFO: SchemaManager.isIncrementalBuildSupported XMLSchema incremental build enabled.
<Aug 10, 2011 1:25:44 PM EDT> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=> MIS_INB_WorkOrder_AR_Sync Error while performing endpoint Activation: javax.resource.ResourceException: Unable to find data source null>
<Aug 10, 2011 1:25:44 PM EDT> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=> MIS_INB_WorkOrder_AR_Sync
javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:52)
at oracle.tip.adapter.aq.v2.AppsEndpoint.activate(AppsEndpoint.java:51)
at oracle.tip.adapter.aq.v2.jca.AQResourceAdapter.endpointActivation(AQResourceAdapter.java:62)
at oracle.tip.adapter.apps.AppsResourceAdapter.endpointActivation(AppsResourceAdapter.java:152)
at oracle.integration.platform.blocks.adapter.fw.impl.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:494)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performEndpointActivation(JCAEndpointActivation.java:637)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.activateInboundJcaEndpoint(JCAEndpointActivation.java:620)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performActivation(JCAEndpointActivation.java:383)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.endpointActivation(AdapterServiceRevisionRegistry.java:583)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.activate(AdapterServiceRevisionRegistry.java:438)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.setDefaultRevision(AdapterServiceRevisionRegistry.java:403)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeries.setDefaultRevision(AdapterServiceRevisionRegistry.java:328)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeriesSet.setDefaultRevision(AdapterServiceRevisionRegistry.java:134)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry.setDefaultRevision(AdapterServiceRevisionRegistry.java:96)
at oracle.integration.platform.blocks.adapter.AdapterService.defaultRevisionChanged(AdapterService.java:309)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.processDefaultInSeries(FabricKernelInitializerServlet.java:577)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.run(FabricKernelInitializerServlet.java:526)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: java.sql.SQLException: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:97)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:68)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:216)
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:49)
... 19 more
Caused by: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:429)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getConnection(AppsManagedConnectionFactory.java:308)
at oracle.tip.adapter.apps.AppsManagedConnection.getConnection(AppsManagedConnection.java:147)
at oracle.tip.adapter.apps.AppsConnection.getJdbcConnection(AppsConnection.java:77)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:94)
... 22 more
Caused by: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.AppsDataSource'. Resolved 'jdbc'; remaining name 'AppsDataSource'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:426)
... 26 more
>
oracle.fabric.common.FabricDeploymentException: [JCABinding] [MIS_INB_WorkOrder_AR_Sync.consumeARTrgReq/1.0]Unable to complete initialization due to: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
{rootCauses=[]}
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry.access$3600(AdapterServiceRevisionRegistry.java:66)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.endpointActivation(AdapterServiceRevisionRegistry.java:608)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.activate(AdapterServiceRevisionRegistry.java:438)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.setDefaultRevision(AdapterServiceRevisionRegistry.java:403)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeries.setDefaultRevision(AdapterServiceRevisionRegistry.java:328)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceSeriesSet.setDefaultRevision(AdapterServiceRevisionRegistry.java:134)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry.setDefaultRevision(AdapterServiceRevisionRegistry.java:96)
at oracle.integration.platform.blocks.adapter.AdapterService.defaultRevisionChanged(AdapterService.java:309)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.processDefaultInSeries(FabricKernelInitializerServlet.java:577)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet$1.run(FabricKernelInitializerServlet.java:526)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: BINDING.JCA-12517
Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
at oracle.integration.platform.blocks.adapter.fw.impl.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:513)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performEndpointActivation(JCAEndpointActivation.java:637)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.activateInboundJcaEndpoint(JCAEndpointActivation.java:620)
at oracle.integration.platform.blocks.adapter.fw.jca.lifecycle.JCAEndpointActivation.performActivation(JCAEndpointActivation.java:383)
at oracle.integration.platform.blocks.adapter.fw.metadata.AdapterServiceRevisionRegistry$AdapterServiceRevision.endpointActivation(AdapterServiceRevisionRegistry.java:583)
... 11 more
Caused by: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:52)
at oracle.tip.adapter.aq.v2.AppsEndpoint.activate(AppsEndpoint.java:51)
at oracle.tip.adapter.aq.v2.jca.AQResourceAdapter.endpointActivation(AQResourceAdapter.java:62)
at oracle.tip.adapter.apps.AppsResourceAdapter.endpointActivation(AppsResourceAdapter.java:152)
at oracle.integration.platform.blocks.adapter.fw.impl.AdapterFrameworkImpl.endpointActivation(AdapterFrameworkImpl.java:494)
... 15 more
Caused by: java.sql.SQLException: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:97)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:68)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getQueue(DBQueueFactory.java:216)
at oracle.tip.adapter.aq.v2.database.AppsDequeueAgentFactory.createAppsDequeueAgent(AppsDequeueAgentFactory.java:49)
... 19 more
Caused by: javax.resource.ResourceException: Unable to find data source null
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:429)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getConnection(AppsManagedConnectionFactory.java:308)
at oracle.tip.adapter.apps.AppsManagedConnection.getConnection(AppsManagedConnection.java:147)
at oracle.tip.adapter.apps.AppsConnection.getJdbcConnection(AppsConnection.java:77)
at oracle.tip.adapter.aq.v2.database.DBQueueFactory.getDatabaseConnection(DBQueueFactory.java:94)
... 22 more
Caused by: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.AppsDataSource'. Resolved 'jdbc'; remaining name 'AppsDataSource'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at oracle.tip.adapter.apps.AppsManagedConnectionFactory.getDataSourceConnection(AppsManagedConnectionFactory.java:426)
... 26 more
<Aug 10, 2011 1:25:44 PM EDT> <Error> <oracle.integration.platform> <SOA-20020> <Deployment of composite "MIS_INB_WorkOrder_AR_Sync" failed: [JCABinding] [MIS_INB_WorkOrder_AR_Sync.consumeARTrgReq/1.0]Unable to complete initialization due to: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process.
: Endpoint Activation Error.
AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
The Resource Adapter Oracle Applications Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{QueueName=WF_BPEL_Q, DatabaseSchema=APPS, Consumer=ORA_850j4e1g8gsjcc9g6oo36e9h65, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.mas.soa.workorder2ar.trigger', AppsEventSchema=CUSTOM_SCHEMA} due to the following reason: javax.resource.ResourceException: Unable to find data source null
Please correct the reported issue and redeploy the BPEL process. -
Jndi tree different in different servers in a cluster?
I bind a Properties object in jndi tree and it comes up fine in one node
i.e. I can see it in the jndi tree on one Server.
But I cannot see it in another Server in the cluster. Any idea why this
behaviour?
the code looks like this:
Hashtable h = new Hashtable();
h.put(Context.INITIAL_CONTEXT_FACTORY, JNDITags.JNDI_FACTORY);
h.put(WLContext.CREATE_INTERMEDIATE_CONTEXTS, new
Boolean(true));
if (user != null) {
h.put(Context.SECURITY_PRINCIPAL, user);
if (pwd == null)
pwd = "";
h.put(Context.SECURITY_CREDENTIALS, pwd);
InitialContext ic = new InitialContext(h);
Context ctx = ic.createSubcontext( "yy");
ctx.bind( "lp", props );
ctx.close();
ic.close();
KomalIf you are trying to do the lookup "at startup time for server 2", the JNDI
replication may not be complete yet. We had a similar problem trying to deploy
MDBs against JMS destinations on remote servers...
komal mangtani wrote:
Can't a bind an object on 1 server and do a lookup on other server ?
Like in my case, when 1st server starts, it binds the object to the jndi
tree in its startup class.
Then the second server comes up and does a lookup on the same object in its
own startup class.
Isn't the jndi tree, suppose to get replicated to another server?
Komal.
komal mangtani wrote:
I bind a Properties object in jndi tree and it comes up fine in one node
i.e. I can see it in the jndi tree on one Server.
But I cannot see it in another Server in the cluster. Any idea why this
behaviour?
the code looks like this:
Hashtable h = new Hashtable();
h.put(Context.INITIAL_CONTEXT_FACTORY, JNDITags.JNDI_FACTORY);
h.put(WLContext.CREATE_INTERMEDIATE_CONTEXTS, new
Boolean(true));
if (user != null) {
h.put(Context.SECURITY_PRINCIPAL, user);
if (pwd == null)
pwd = "";
h.put(Context.SECURITY_CREDENTIALS, pwd);
InitialContext ic = new InitialContext(h);
Context ctx = ic.createSubcontext( "yy");
ctx.bind( "lp", props );
ctx.close();
ic.close();
Komal -
Loading the JNDI Tree in a Cluster
Is there any special processing that occurs with a Startup class when it
has been
started via the cluster level properties file?
We've got a class that loads the JNDI tree for various configuration for
our application.
It's written that so that it will rebind() entries in the tree, so two
copies could work together
in the cluster, but I'd like to prevent the double work. (One copy
bind()s an element, then the other rebind()s the same value.
Are Startups "cluster" aware, and is there any magic to simplify this
for me (or do I do the
work of creating a semaphore-like setup in my class to detect two copies
running.)
Thanks in Advance,
Brian Homrich
Chicago, Illinois
In the startup class on Environment object if you don't set
replicatebindings to false, in a cluster all locally bound objects will be
replicated. The default it true. So, jndi will try replicate every
bind/rebind etc.
Rebind will remove old copy and bind the new copy. But I have to understand
more what you are trying to do, before I can be of any help.
- Prasad
Brian Homrich wrote:
> Is there any special processing that occurs with a Startup class when it
> has been
> started via the cluster level properties file?
>
> We've got a class that loads the JNDI tree for various configuration for
> our application.
> It's written that so that it will rebind() entries in the tree, so two
> copies could work together
> in the cluster, but I'd like to prevent the double work. (One copy
> bind()s an element, then the other rebind()s the same value.
>
> Are Startups "cluster" aware, and is there any magic to simplify this
> for me (or do I do the
> work of creating a semaphore-like setup in my class to detect two copies
> running.)
>
> Thanks in Advance,
>
> Brian Homrich
> Chicago, Illinois
-
Are workmanagers visible in the jndi tree viewer?
Hi, I'm trying to setup a workmanager, and I'm having a few problems, but I'm just wondering if I'm falling at the first hurdle. I've tried creating workmanagers at the global and application level, but looking in the admin console for my server they never show up in the jndi tree viewer. Should I expect to see my workmanager there? If I look in the deployment then I do see that the workmanager exists, alongside default.
Thanks.If you create a workmanager at the application level, you'll see the work manager in the console under Deployments -> your app -> Monitoring ->Workload.
If you create a workmanager at the domain / server level and reference it within your app's deployment descriptors ( wl-dispatch-policy ), you can look under Servers ->your app's targeted server -> Deployments -> your app -> Monitoring -> Workload. In this case, you'll see all the workmanagers targeted to that server, but you can confirm your app's usage of the correct wm by submitting a request to your app and seeing an increase in the completed requests column of the display.
A work manager configured at the domain / server level doesn't have a JNDI name attribute that you enter. You just use the same workmanager name in your deployment descriptor <wl-dispatch-policy>someWM</wl-dispatch-policy>.
The handling of stuck threads seems to be a trouble point for application defined workmanagers, so we've decided to stick with individual server level work managers for each app. -
EJB deployed but doesnt show up in JNDI tree on weblogic
Hi,
I have a sample EJB deployed on weblogic 10.3 server. My Bean class contains following code.
========================================================================
@Stateless (mappedName = "DemoEJB")
@TransactionManagement(TransactionManagementType.BEAN)
public class DemoBean implements SessionBean {
static final boolean verbose = true;
private transient SessionContext ctx;
private transient Properties props;
@SuppressWarnings("deprecation")
@Override
public void setSessionContext(SessionContext ctx) throws EJBException,
RemoteException {
// TODO Auto-generated method stub
if (verbose)
System.out.println("setSessionContext called");
this.ctx = ctx;
props = ctx.getEnvironment();
public String demoSelect()
throws RemoteException
return("hello world");
===========================================================================
I have created a jar file for the above class using eclipse and deployed it on weblogic. I can see the EJB in the <Deployment> on weblogic but it doesnt appear in <EJB> on JNDI tree view. Therefore i cannot access it from my client code (also written in Eclipse IDE).
I will appreciate any guidance in this regard.
Thanks
Regards,
AwaisHi,
i have the same problem with yours
This is my annotation with EJB3.0:
@Stateless(mappedName="ConSession")
@Remote(ConBeanRemote.class)
@Local(ConBean.class)
and i have a weblogic-ejb-jar.xml to define my jndi name
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar xmlns:wls="http://www.bea.com/ns/weblogic/weblogic-ejb-jar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://www.bea.com/ns/weblogic/weblogic-ejb-jar
http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>ConSession</ejb-name>
<stateless-session-descriptor>
<business-interface-jndi-name-map>
<business-remote>com.staffware.ConBeanRemote</business-remote>
<jndi-name>ConSession#com/staffware/ConBeanRemote</jndi-name>
</business-interface-jndi-name-map>
</stateless-session-descriptor>
<local-jndi-name>com/ConfigurationManagerBeanLocal</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
[ the most important: I also have specify JNDI in a java file like this
beanRemoteJNDIs.put("ConBeanRemote","ConSession#com/staffware/ConBeanRemote");
beanLocalJNDIs.put("ConBean","java:comp/env/com/ConBean");
and i can find the ConSession#com/staffware/ConBeanRemote in the jndi tree . but it shows like Multilevel directory tree
and when i login the website and click the button
.another error comes out :
13:35:55,046 ERROR [EJBDelegate] Unable to lookup reference java:comp/env/com/ConBean for ConBean!
javax.naming.LinkException: [Root exception is javax.naming.LinkException: [Root exception is javax.naming.NameNotFoun
dException: While trying to look up /app/ejb/CONFIG-ejb-2.0.jar#ConSession/local-home in /app/webapp/CO
M/18328287.; remaining name '/app/ejb/CONFIG-ejb-2/0/jar#ConfigurationManagerSession/local-home']; Link Remaining Name:
'java:app/ejb/CONFIG-ejb-2.0.jar#ConSession/local-home']; Link Remaining Name: 'com/ConBean'
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:104)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:884)
at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:187)
what should i do ?
and should i specify the jndi name in the java file . the JNDI name defined in the weblogic is right?
can you help me ?
thanks very much in advance! -
Can a single JNDI tree be shared by multiple, non-clustered servers?
We have a situation involving multiple, but non-clustered, WebLogic servers,
say Server 1 and Server 2. A client needs to access an EJB which happens to
be located only on Server 2. We would prefer that the client not need to
know the exact location of the EJB, but use the naming service hosted by a
designated server (Server 1) to locate the EJB.
At a minimum, this would require that both servers bind their respective
EJB's into a common, shared JNDI naming tree hosted by Server 1.
Is this possible?
John Armstrong
WebLink Wireless, Inc.
[email protected]hi,
I have not tried this, althoug with the webogic rmi and weblogic jndi
implementation I would guess this is straightforward.
Binding remote objects in WL JNDI binds the stubs only, not the object
itself. The worst case scenario here would be for you to implement proxies
and bind them in JNDI, although I would guess that binding the home object
should give you the required functionality.
Just try it, rebind the home object on a different server than the one the
bean is deployed on and test. My guess is that it will work.
(I repeat : I have not tested this my self, this is just a suggestion)
Regards,
Anders M.
John N. Armstrong <[email protected]> skrev i
meldingsnyheter:3a93faba$[email protected]..
We have a situation involving multiple, but non-clustered, WebLogicservers,
say Server 1 and Server 2. A client needs to access an EJB which happensto
be located only on Server 2. We would prefer that the client not need to
know the exact location of the EJB, but use the naming service hosted by a
designated server (Server 1) to locate the EJB.
At a minimum, this would require that both servers bind their respective
EJB's into a common, shared JNDI naming tree hosted by Server 1.
Is this possible?
John Armstrong
WebLink Wireless, Inc.
[email protected]
Maybe you are looking for
-
How to update data in a xml file.
I am able to retrieve data from a xml file but not able to update data. Also how can i add or delete node from a xml file.
-
Why can't I select and drag files around in the preview area?
Out of nowhere. I have had no issues and now it is pretty much unusable. I thought maybe it was a bug so I uninstalled/reinstalled., There was an update when I went to install it the second time. I thought the update would help but there's no cha
-
Updating Transport Description after Release?
I know that transport description is stored in table E07T. I could write a direct update to change the description for transports that are already released. Of course, SAP doesn't advocate direct updates. Is there another option? Is there a SAP note
-
I recently parsed my list of installed programs, and I uninstalled Corel DVD MovieFactory 7 and now my DVD drive doesn't show up in My Computer and Windows tells me in Device Manger that: "Windows cannot start this hardware device because its configu
-
Is there a Business Object for Sales Order Create and Change VA01 and VA02
Hi experts - I am looking for a business object for Sales order create and change VA01 and VA02 respectively? Thanks, Mark