JNDI with Weblogic Intergrator 2.1
Hello,
I have just installed Weblogic Integrator on WLserver 6.1 with service pack 1.
I would like to know if it´s possible for weblogic intergrator too see JNDI objects
outside the machine is on, ie Have WLPI installed on machine A , and on machine
B and C only have Weblogic server installed. At the moment with that exact same
set up , WLPI can only see JNDI objects on the machine that it is installed on.
IS there any possibility for this to work.
Regards Bobby
Hi Bobby,
Currently, the only way to do this is to have your own business operation that connect
to another server to access services that way. WLI can only access local objects and
services. If the three servers are on the same cluster, the default action for WLS is
to replicate the objects to all the servers, so your WLI installation should be able to
see objects locally.
Sean
Bobby wrote:
Hello,
I have just installed Weblogic Integrator on WLserver 6.1 with service pack 1.
I would like to know if it´s possible for weblogic intergrator too see JNDI objects
outside the machine is on, ie Have WLPI installed on machine A , and on machine
B and C only have Weblogic server installed. At the moment with that exact same
set up , WLPI can only see JNDI objects on the machine that it is installed on.
IS there any possibility for this to work.
Regards Bobby[sean.garagan.vcf]
Similar Messages
-
Regular RMI server object with WebLogic JNDI
Is that possible to register a regular RMI object with WebLogic JNDI
tree? I was building a simple program (using javac and rmic only) based
on the java.rmi.* (without changing the import statements to
weblogic.rmi.*) and using the weblogic.jndi to register the server
object. Below is some piece of code,
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://172.20.20.20:7001");
ctx = new InitialContext(ht);
ctx.bind("HelloServer", obj);
The code failed for the following reason,
javax.naming.NamingException. Root exception is
java.rmi.MarshalException: failed to marshal public abstract void
weblogic.jndi.internal.NamingNode.bind(java.lang.String,java.lang.Object,java.util.Hashtable)
throws javax.naming.NamingException,java.rmi.RemoteException; nested
exception is:
java.rmi.server.ExportException: A description for
examples.rmi.hello.HelloImpl was found but it could not be read due to:
[Failed to find examples.rmi.hello.HelloImpl_WLStub or
examples.rmi.hello.Hello_WLStub for class examples.rmi.hello.HelloImpl]
java.rmi.StubNotFoundException: Failed to find
examples.rmi.hello.HelloImpl_WLStub or examples.rmi.hello.Hello_WLStub
for class examples.rmi.hello.HelloImpl
at
weblogic.rmi.internal.BasicDescriptor.<init>(BasicDescriptor.java:101)
at
weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:50)
at
weblogic.rmi.internal.DescriptorManager.resolveClass(DescriptorManager.java:55)
at
weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:39)
at
weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:30)
at
weblogic.rmi.internal.OIDManager.getRequestDispatcher(OIDManager.java:281)
at
weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:270)
at
weblogic.rmi.internal.OIDManager.replaceObject(OIDManager.java:98)
at
weblogic.common.internal.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:55)
at
weblogic.common.internal.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:239)
Any idea?
- SteveC"Pyung Yoon" <[email protected]> writes:
MediatorInterface mediator = (MediatorInterface) java.rmi.Naming.lookup("rmi://localhost:7001/TestMediator);This implies JRMP which the server does not support. You need to use t3 or iiop.
andy -
Using jndi.properties with weblogic 6.1
Apologies if this is a basic question - I am new to Weblogic.
I have successfully got a test EJB working with Weblogic 6.1 using a properties object to set up my JNDI InitialContext.
In the weblogic examples I've downloaded it says you can also use a jndi.properties file to do this. I have set up a jndi.properties file, which is in the classpath for my class calling the EJB. But when I do my jndi .lookup("ejbname") I get the error:
javax.naming.CommunicationException: Can't find SerialContextProvider
The weblogic documentation at:
http://e-docs.bea.com/wls/docs61///rmi_iiop/API_rmi_iiop.html
refers to using jndi.properties and says to look at:
http://edocs.bea.com/wls/docs61/jndi/jndi.html
But at this page there is no mention of the jndi.properties method.
I'd be grateful for any suggestions - in particular whether it is possible to use this method of configuring the JNDI setup.
I'm running wlserver6.1 on a Windows 2000 PC, using JDK 1.3.1
My jndi.properties file looks as follows:
java.naming.property.names=java.naming.factory.initial,java.naming.provider.url
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://localhost:7001It is not WebLogic-specific. See
http://java.sun.com/j2se/1.3/docs/api/javax/naming/InitialContext.html
Alison Tunley <[email protected]> wrote:
Apologies if this is a basic question - I am new to Weblogic.
I have successfully got a test EJB working with Weblogic 6.1 using a properties object to set up my JNDI InitialContext.
In the weblogic examples I've downloaded it says you can also use a jndi.properties file to do this. I have set up a jndi.properties file, which is in the classpath for my class calling the EJB. But when I do my jndi .lookup("ejbname") I get the error:
javax.naming.CommunicationException: Can't find SerialContextProvider
The weblogic documentation at:
http://e-docs.bea.com/wls/docs61///rmi_iiop/API_rmi_iiop.html
refers to using jndi.properties and says to look at:
http://edocs.bea.com/wls/docs61/jndi/jndi.html
But at this page there is no mention of the jndi.properties method.
I'd be grateful for any suggestions - in particular whether it is possible to use this method of configuring the JNDI setup.
I'm running wlserver6.1 on a Windows 2000 PC, using JDK 1.3.1
My jndi.properties file looks as follows:
java.naming.property.names=java.naming.factory.initial,java.naming.provider.url
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://localhost:7001--
Dimitri -
Application deployment order with weblogic-ejb-jar.xml and jndi-name
I have two applicatation working on Weblogic server v. 10.3.6.
First of them creating one ejb stateless bean and creates JNDI maping for it (in weblogic-ejb-jar.xml file):
<weblogic-enterprise-bean>
<ejb-name>ConfigMenegerBean</ejb-name>
<stateless-session-descriptor>
<stateless-session-descriptor>
<business-interface-jndi-name-map>
<business-remote>package.ConfigurationSessionRemote</business-remote>
<jndi-name>ConfigMeneger</jndi-name>
</business-interface-jndi-name-map>
</stateless-session-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
<jndi-name>ConfigMeneger</jndi-name>
</weblogic-enterprise-bean>
Second appication have to refer for this bean by JNDI using spring been lookup :
<jee:jndi-lookup id="configManager" jndi-name="ConfigMeneger"/>
I changed deployment order parameter for both apllication(first=100 and second=500) in order to first app start first and share bean by jndi to another application. Unfortuantelly I got an error :
javax.naming.NameNotFoundException: Unable to resolve 'ConfigMeneger'. Resolved ''; remaining name 'ConfigMeneger'
How can I configure deployment order that first application make jndi mapping for bean, before the second application will use it ?Ok in a way I have solved my problem (even if I am not completely satisfied by the way on how to proceed...). So thanks to message "JBuilder7.0 and Weblogic6.1" on EJB sun forum :
http://forum.java.sun.com/thread.jsp?thread=285735&forum=13&message=1255488
I have tried the following actions (mentionned in the other forum messages):
- To preserve changes to weblogic*.xml, the safest way is to change the ejb-borland.xml.
(I am not sure that I have applied this advice correctly, because I suppose that syntax is not similar in weblogic file or borland file).
And you can MANUALLY update the weblogic file in your JAR archive.
1. Open the EJB JAR file in Winzip and extract the weblogic-ejb-jar.xml file, so that a copy exists in your
project directory.
2. Open this file (in Notepad), add the WebLogic specific information, and then save the file.
3. Now, when you are finished with the build cycle and are ready to deploy, you may open the EJB jar file
and swap in the weblogic-ejb-jar.xml file."
Good Luck. -
JNDI Provider Connection With Weblogic 8.1
Hi all,
I am using SUN ONE Studio V 5.0 update 1 with weblogic 8.1 integrated with it.
Today I have added weblogic.jar in the classpath of the project.
Now I went to "runtime tab" and installed a jndi provider with factoryname and url successfully.
I tested the provider successfully :)
But when I tried to connect it to the service it failed.
IDE thrown a NPE and error message in dialog appears, says "TimeOut value is too short to connect".
There is no option for setting this timeout value.
Could any one pls help me regarding this. How can I get connected to JNDI service given by WL 8.1 ?
Has anyone also faced such problem ?
My server is up and smiling on me.
I am adding that error message fully....
java.lang.NullPointerException
at weblogic.rmi.internal.StubGenerator.getStubOnClient(StubGenerator.java:785)
at weblogic.rmi.internal.StubGenerator.getStubClass(StubGenerator.java:758)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:803)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:790)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootServiceStub.java:50)
at weblogic.security.acl.internal.Security.authenticate(Security.java:152)
at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRemotely(WLInitialContextFactoryDelegate.java:597)
at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:534)
at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:336)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:308)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:234)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:80)
at org.netbeans.modules.jndi.JndiDirContext.<init>(JndiDirContext.java:47)
at org.netbeans.modules.jndi.JndiDataType$1$Connector.checkContextValidity(JndiDataType.java:211)
at org.netbeans.modules.jndi.JndiDataType$1$Connector.run(JndiDataType.java:169)
at java.lang.Thread.run(Thread.java:534)
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed to generate class for weblogic.common.internal.RMIBootServiceImpl_811_WLStub ] - with nested exception:
[java.lang.NullPointerException]
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:807)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:790)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootServiceStub.java:50)
at weblogic.security.acl.internal.Security.authenticate(Security.java:152)
at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRemotely(WLInitialContextFactoryDelegate.java:597)
at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:534)
at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:336)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:308)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:234)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:80)
at org.netbeans.modules.jndi.JndiDirContext.<init>(JndiDirContext.java:47)
at org.netbeans.modules.jndi.JndiDataType$1$Connector.checkContextValidity(JndiDataType.java:211)
at org.netbeans.modules.jndi.JndiDataType$1$Connector.run(JndiDataType.java:169)
[catch] at java.lang.Thread.run(Thread.java:534)
one this more, if u see help then it is written that WL plugin will work only with jdk 1.3.1 and not with 1.4 but my plugin works successfully. What does it mean ?
My userdir is : C:\Utility\Dir4j, when I installed the provider for connecting to JNDI service of WL, then IDE created a dir C:\Utility\Dir4j\system\JNDI folder and created weblogic_jndi_WLInitialContextFactory.impl file under it.
Because I added that weblogic.jar file on my FSystem thats' why It created it under my userdir.
Pls Help
SanjeevHi Sanjeev :
I am running into the same problem . Could you please be kind enough to tell me how you fixed the problem. I followed your solution but I am still running into the same problem.
Basically my WebStart application should be getting a connection from the Connection pool making a t3 call to a Weblogic server.
Thanks in advance . -
Sun JSSE intergration with WebLogic
First, I should state that I have been able to get my application to work in Tomcat
and run on it's own, but not in WebLogic.
Has anyone used Sun's JSSE implementation from within WebLogic? Is it possible
to do so?
I have set the following properties:
System.setProperty("java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");
System.setProperty("javax.net.ssl.keyStoreType",
"pkcs12");
System.setProperty("javax.net.ssl.keyStore",
keystore);
System.setProperty("javax.net.ssl.keyStorePassword",
keyStorePassword);
System.setProperty("javax.net.ssl.trustStore",
trustStore);
System.setProperty("javax.net.ssl.trustStorePassword",
trustStorePassword);
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
I get the following exception when writing to the output stream of HttpsURLConnection:
java.io.IOExceptionWrite Channel Closed, possible SSL handshaking or trust failure
I am not that familiar with Weblogic, so any suggestions are welcome.No, the loadLocalIdentity methods that take InputStream-s expect streams for the
certificate and the key pem files, with the key in pkcs8 format. If your certificate
is in pkcs12 keystore, you can read the cert and the key using java keystore api,
and then load them with the loadLocalIdentity(Certificate[], PrivateKey) method.
Pavel.
"Dave" <[email protected]> wrote:
>
Thanks for the response I appreciate it. I do have some follow up questions
you
may be able to help me with.
This application is performing two way SSL, but in this case my web app
(deployed
in WLS) is the client. Making a https call to public server that requires
the
client certificate. The public server issues the client certificates
in pkcs12
format. Can the weblogic.net.http.HttpsURLConnection class or WebLogic
SSL implementation
handle that format?
Thanks.
"tm" <no-reply> wrote:
From a coworker:
It sounds like in this particular case they are using an URL to open
the
connection.
On the server this will return a weblogic.net.http.HttpsURLConnection,
which
does not support the jsse configuration properties.
In the case of a one way connection they might be able to fix this by
setting weblogic.security.SSL.trustedCAKeyStore instead.
For two way they would need to use our HttpsURLConnection api to load
identity.
-tm
"tm" <no-reply> wrote in message news:[email protected]...
To the best of my knowledge, BEA doesn't test or claim to support
any
scenarios with Sun JSSE running inside a WLS server when the WLS serveris
setup to use SSL. However, it might work.
In any case, to see what WLS SSL is complaining about, turn on SSLdebug
tracing:
-Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true
-tm
"Dave" <[email protected]> wrote in message
news:[email protected]...
First, I should state that I have been able to get my application
to
work
in Tomcat
and run on it's own, but not in WebLogic.
Has anyone used Sun's JSSE implementation from within WebLogic?
Is
it
possible
to do so?
I have set the following properties:
System.setProperty("java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");
System.setProperty("javax.net.ssl.keyStoreType",
"pkcs12");
System.setProperty("javax.net.ssl.keyStore",
keystore);
System.setProperty("javax.net.ssl.keyStorePassword",
keyStorePassword);
System.setProperty("javax.net.ssl.trustStore",
trustStore);
System.setProperty("javax.net.ssl.trustStorePassword",
trustStorePassword);
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
I get the following exception when writing to the output stream
of
HttpsURLConnection:
java.io.IOExceptionWrite Channel Closed, possible SSL handshaking
or
trust
failure
I am not that familiar with Weblogic, so any suggestions are welcome. -
EJB 3.0 MDB deployment issue with weblogic 10.0
Hi there,
I am new to MDB EJB and right now I am using the EJB 3.0 with weblogic server 10.0. I am using Eclipse 3.4 for development.
After developing the MDB from eclipse I export the EAR from eclipse and deploy it in weblogic. When I try to start the deployed EAR it gives me following error.
weblogic.application.ModuleException: Exception preparing module: EJBModule(Message.jar)
Unable to deploy EJB: MessageBean from Message.jar:
[EJB:011113]Error: The Message Driven Bean 'MessageBean(Application: MessageEAR, EJBComponent: Message.jar)', does not have a message destination configured. The message destination must be set using a message-destination-link, destination-resource-link, destination-jndi-name or a resource-adapter-jndi-name.
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:399)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
Truncated. see log file for complete stacktrace
[EJB:011113]Error: The Message Driven Bean 'MessageBean(Application: MessageEAR, EJBComponent: Message.jar)', does not have a message destination configured. The message destination must be set using a message-destination-link, destination-resource-link, destination-jndi-name or a resource-adapter-jndi-name.
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.ensureMDBHasDestinationConfigured(MessageDrivenBeanInfoImpl.java:1811)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.prepare(MessageDrivenBeanInfoImpl.java:1011)
at weblogic.ejb.container.deployer.EJBDeployer.setupBeanInfos(EJBDeployer.java:997)
at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1273)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:372)
Truncated. see log file for complete stacktrace
>
Any help really appreciated. It's too urgent.
Thanks in advance,
Piyushhere is the code for my bean.
package com.ups;
import java.util.logging.Logger;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.EJBException;
import javax.ejb.MessageDriven;
import javax.ejb.MessageDrivenContext;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
* Message-Driven Bean implementation class for: MessageBean
@MessageDriven(
activationConfig = { @ActivationConfigProperty(
propertyName = "destinationType", propertyValue = "javax.jms.Queue"
public class MessageBean implements MessageListener {
private MessageDrivenContext mdc;
* Default constructor.
public MessageBean() {
// TODO Auto-generated constructor stub
* @see MessageListener#onMessage(Message)
public void onMessage(Message message) {
TextMessage tmsg = null;
try {
tmsg = (TextMessage) message;
System.out.println("MESSAGE BEAN: Message received: " + tmsg.getText( ));
System.out.println ("The onMessage() is called");
} catch (JMSException e) {
e.printStackTrace( );
mdc.setRollbackOnly( );
catch (Throwable th) {
th.printStackTrace();
public void ejbRemove( )throws EJBException{
System.out.println("ejbRemove() is executed >>>>>>>");
I have configured my JMS Distributed queue in the Weblogic.
If possible please provide more details so that I can get rid of this error as soon as possible.
Thanks for reply.
Piyush -
How to get remote ejb client working with Weblogic 8.1?
I have Weblogic 8.1 running on a WinXP box behind my firewall. Port 7001 is open to WL and remote browsers can access the console.
I have a client machine running WinXP on a different network that is remote to the WL server. It can ping the WL server machine.
I use JVM 1.4.2_08 on all machines.
If I put my client machine on the LAN with the WL server, then my EJB test client works fine. If I put the client machine on the remote network then the test client fails with a ClassCastException when trying to do a PortableRemoteObject.narrow on the bean home.
I had this running fine on JBoss 3.22 using RMI over HTTP. I added an HTTP invoker service to my jboss.xml file. I don't know if something similar is needed on the Weblogic side - any ideas on that? All I've done on the WL side is turn on Tunneling - which obviously works because the remote client gets a correct home object when doing a lookup on the bean - based on the IOR string of the home obj.
Below I include my client code, exception, ejb-jar.xml and my weblogic-ejb-jar.xml.
Any ideas on what else needs to be done so that a remote client can do a PortableRemoteObject.narrow? My client.jar has all of the EJB classes, and runs fine when run from LAN.
Thanks,
--BobC
Client Code
Properties p = new Properties();
p.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
p.put("java.naming.provider.url", "http://66.114.140.213:7001");
InitialContext ic = new InitialContext(p);
// Test register bean
Object homeObj = ic.lookup("tacplanner/register");
RegisterHome home = (RegisterHome) PortableRemoteObject.narrow(homeObj, RegisterHome.class); // <<< ClassCastException here
Exception
java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:293)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
at com.nimblus.tacplanner.test.TestUtils.<init>(TestUtils.java:60)
at com.nimblus.tacplanner.test.TestUtils.main(TestUtils.java:196)
ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>register</ejb-name>
<home> com.nimblus.tacplanner.server.ejb.stateless.RegisterHome</home>
<remote> com.nimblus.tacplanner.server.ejb.stateless.Register</remote>
<ejb-class>com.nimblus.tacplanner.server.ejb.stateless.RegisterSession</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<resource-ref>
<description>The Oracle Datasource</description>
<res-ref-name>java:/OracleDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>register</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</ejb-jar>
weblogic-ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN'
'http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>register</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</pool>
</stateless-session-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/OracleDS</res-ref-name>
<jndi-name>OracleDS</jndi-name>
</resource-description>
</reference-descriptor>
<enable-call-by-reference>True</enable-call-by-reference>
<jndi-name>tacplanner/register</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
--------------------Problem solved.
For remote clients you need to generate and use the stub classes for EJB interfaces using Weblogic's appc utility.
See: "http://e-docs.bea.com/wls/docs81/ejb/appc_ejbc.html#1151900"
--BobC -
Memory Leak with Weblogic 6.1
Hello everyone.
I need some help with a problem we are having with our application. It consists on Servlets, JMS with MDBs, Xml parsing...
Our application dequeues messages from an Oracle Queue and sends xml-text message to a servlet. It also receives xml-text and enqueues objects in an Oracle Queue.
And it also has access to Oracle Database (context tables, etc).
We are doing everything on Tru64 Unix (and our tests on Win 2000) and we are using WebLogic 6.1.
Our problem is that we have found that it seems that the garbage collector is not running well. I mean, with the time our system is degrading. The memory use increases. It seems to be a memory leak.
We have used a testing tool, OptimizeIt, and we have found that there are
objects that are increasing the use of memory. If we use the option 'java -verbose' we find that it seems to be Hash objects (HashMap, Hashtable) which are increasing the use of memory. In our code we are not using any hashtable nor any class that extends from it (we have deleted everyone).
Can it be due to a problem with WebLogic? A problem with JMS, queues, etc? A problem with JNDI?
Could anybody please help us?
Thanks in advanced.Yes, we see that there are some entries of the type:
java/util/Hahstable$Entry
java/util/Hahstable
weblogic/jndi/Environment
This entries keep growing and growing with the time.
We have deleted all the Hashtable, Properties and all the kind of Collection objects. I guess WebLogic is using this objects in order to arrange our application runs.
Am I right? Do you know if we can do anything?
Thank you. -
I struggle writing portable ejb3 applications with weblogic.
I have a JEE5 (EJB3) application using the standard and it works fine on JBoss and WebSphere.
Porting it to Weblogic (10.0) there are quite a lot of problems, mainly
in the area of JNDI lookups of EJBs.
So the issue is how to configure the JNDI-Names of local and remote beans (EJB3!)
in a portable way with Weblogic without making the application unportable.
The biggest problem is caused by the fact, that WL 10 does not bind the EJBs
to the JNDI-tree by default. The bound name would not really be important (JBoss and WebSphere
come up with a value that can easily be used for a generic lookup). Just any binding
would be fine.
So there has to be some extra step in order to get WL 10 binding a remote or local
bean into the JNDI tree. Unfortunately none of them works/is acceptable in an portable JEE app.
Idea1: Using the "mappedName" attribute (of @Stateless, @Stateful)
Well, this one is not portable as the documentation states:
[http://edocs.bea.com/wls/docs100/ejb30/annotations.html#wp1417411|http://edocs.bea.com/wls/docs100/ejb30/annotations.html#wp1417411]
Idea2: Using @weblogic.ejbgen.JndiName
Using weblogic's annotation JndiName also doesn't bind the bean to the given names:
@Stateless
@weblogic.ejbgen.JndiName(local="myapp/XBean/local",remote="myapp/XBean/remote")
public class XBean implements XLocal {
Besides this, that code would not be portable (as nobody wants an weblogic.jar within another application server).
Idea3: Using weblogic-ejb-jar.xml
Mapping a bean using the weblogic-ejb-jar.xml below, also doesn't work.
The bean is not bound to the given name "myapp/XBean/remote":
Exception in thread "main" javax.naming.NameNotFoundException:
Unable to resolve 'myapp.XBean.remote'. Resolved 'myapp.XBean' [Root exception is javax.naming.NameNotFoundException: Unable to resolve 'myapp.XBean.remote'. Resolved 'myapp.XBean']; remaining name 'remote'
Looking at the JNDI tree, there is "something" bound to "myapp.XBean", but it is not the bean.
Doing a lookup with this name ("myapp/XBean" or "myapp.XBean"), gives this:
Exception in thread "main" java.lang.ClassCastException: weblogic.jndi.internal.WLContextImpl cannot be cast to test.server.XRemote
at test.client.Client.main(Client.java:14)
Question 1) What is the preferred way to bind and lookup a remote bean in Weblogic 10?
Again: the goal is to use pure EJB3.
Question 2) What is the preferred way to bind and lookup a local bean in WL 10?
This lookup has to be done on the server in some "unmanaged" classes
where injection doesn't work.
If there is an unportable way to bind a local bean to jndi, it might do for the time.
The important thing would be, that there is no weblogic specific code within the application.
So, solving it using weblogic-xml files would be best.
This declaration
<local-jndi-name>myapp/XBean/local</local-jndi-name>
will come up with the same problems, I guess.
Here's the code. We want the local interface extending the remote interface,
so that the local beans can do all what the remote beans can do too.
XRemote.java
package test.server;
import javax.ejb.Remote;
@Remote
public interface XRemote {
String JNDI_NAME = "myapp/XBean/remote";
void doXRemote();
XLocal.java
package test.server;
import javax.ejb.Local;
@Local
public interface XLocal extends XRemote {
String JNDI_NAME = "myapp/XBean/local";
void doXLocal();
XBean.java
package test.server;
import javax.ejb.Stateless;
@Stateless
public class XBean implements XLocal {
@Override
public void doXLocal() {
System.out.println("doXLocal() called");
@Override
public void doXRemote() {
System.out.println("doXRemote() called");
weblogic-ejb-jar.xml
<weblogic-ejb-jar
xmlns="http://www.bea.com/ns/weblogic/10.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/10.0 http://www.bea.com/ns/weblogic/10.0/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>XBean</ejb-name>
<jndi-name>myapp/XBean/remote</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
Client.java
package test.client;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import test.server.XRemote;
public class Client {
public static void main(String[] args) throws NamingException {
InitialContext context = getInitialContext();
XRemote xRemote = (XRemote) context.lookup(XRemote.JNDI_NAME);
xRemote.doXRemote();
private static InitialContext getInitialContext() throws NamingException {
Properties properties = new Properties();
properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.SECURITY_PRINCIPAL, "weblogic");
properties.put(Context.SECURITY_CREDENTIALS, "weblogic");
return new InitialContext(properties);
}Hi,
about how to specify jndi name of remote ejb, please refer to this link: http://forums.oracle.com/forums/thread.jspa?threadID=800314&tstart=1
please note @JNDIName isn't an EJBGen annotation. its package name is weblogic.javaee.
So far, based on the EJB spec, local ejb will not be bound to global JNDI. EJB3.1 specification is trying to specify the portable JNDI names including local EJBs, but it isn't published yet.
local EJB is used within one application and ejb reference is used to lookup the local EJB. please refer to EJB specification about how to declare an EJB local reference. once it is declared, it can be looked up from the java:comp\env JNDI namespace.
But, if the local client of the EJB isn't a JavaEE component, there won't be any declaration of ejb-local-ref. You may want to try remote access to the EJB from the non-JavaEE client. -
Problems with weblogic clustering in 6.1 sp3
We have spent a lot of time trying to get our application deployed to
a cluster using weblogic 6.1 sp3 and we consistently receive a failure
when we attempt to start the managed server. This was not a problem
with weblogic sp1--we got our application to deploy to the cluster
successfully; although there was another weblogic bug there with
clients accessing EJB clusters--we won't go into that here...
We have tried this on both a Windows 2000 machine and an HP machine
running weblogic sp3. The same error occurs on both platforms.
The error in deploying our application to the cluster against weblogic
sp3 looks to have to do with our custom security realm. Inside our
custom realm we make use of a configurable providerUrl which we set to
the cluster address/port. The custom realm makes a call where it
passes in the providerUrl to:
weblogic.management.Helper.getMBeanHome(..., providerUrl,...)
When we have our providerUrl set to the cluster address/port--e.g.,
t3://clustermember1:7001
and attempt to start the managed server we get the error:
Starting WebLogic Server ....
Connecting to http://adminserver:7117...
The WebLogic Server did not start up properly.
Exception raised:
weblogic.management.configuration.ConfigurationException:
clustermember1 not found
at weblogic.management.Admin.getBootstrapLocalServer(Admin.java:1084)
at weblogic.management.Admin.initialize(Admin.java:340)
at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:359)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:206)
at weblogic.Server.main(Server.java:35)
Reason: Fatal initialization exception
When we have our providerUrl set to the admin server address--e.g.,
t3://adminserver:7117
everything starts up fine.
Does anyone know why this would work on sp1 and not sp3 of weblogic
6.1?
We verified that all passwords are correct and everything else we
could determine--any ideas would be helpful.
We don't want the providerUrl to point at our admin server, we want it
to point at the cluster address/port.
When we get the managed server error, we received this error on the
AdminServer:
2002-08-15 16:52:23,019 ERROR [ExecuteThread: '11' for queue:
'default'] (com.msa.gabriel.share.security.wlrealm.GabrielRealm) -
Caught naming exception null; throwing RuntimeException.
javax.naming.CommunicationException. Root exception is
java.net.ConnectException: t3://tomtate.msais.com:7119: Destination
unreachable; nested exception is:
java.net.ConnectException: Connection refused; No available router to
destination
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:307)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:211)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:665)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
at javax.naming.InitialContext.init(InitialContext.java:222)
at javax.naming.InitialContext.<init>(InitialContext.java:198)
at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getNamingContext(GabrielRealm.java:416)
at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getConnection(GabrielRealm.java:347)
at com.msa.gabriel.share.security.wlrealm.GabrielRealm.access$000(GabrielRealm.java:51)
at com.msa.gabriel.share.security.wlrealm.GabrielRealm$2.run(GabrielRealm.java:225)
at weblogic.security.acl.Security.doAsPrivileged(Security.java:489)
at com.msa.gabriel.share.security.wlrealm.GabrielRealm.myDoAsPrivileged(GabrielRealm.java:578)
at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.java:221)
at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
at weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.java:356)
at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:205)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2518)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
<Aug 15, 2002 4:52:23 PM EDT> <Error> <HTTP>
<[WebAppServletContext(8091823,wl_management_internal2,/wl_management_internal2)]
Servlet failed with Exception
java.lang.RuntimeException
at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.java:260)
at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
at weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.java:356)
at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:205)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2518)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Thanks for any help.
Rich
Bottom line:
In our custom realm we were not handling user guest correctly. Even if you
have guest user disabled, Weblogic seems to have hard-coded guest to
send messages to the cluster every-so-often. Not sure there--couldn't get
an answer out of bea as to exactly why we see guest still being used...
It seems that with sp3, the user guest interaction started happening earlier
than it did with sp1, consequently making our realm code fail when trying to
retrieve the guest user like someone we knew about in our system.
Hence, our getUser and authUserPassword methods now return null for both
users guest and system, making the secondary realm (file realm) be used to
authenticate and resolve guest & system. BEA helped get our code fixed;
however, we still don't have a lot of depth in understanding Weblogic
server's use of guest...
Apparently, in 7.x the guest & system user behavior and configuration is
different also... We'll see when we start digging into that migration.
Rich
[email protected] (Rich Koch) wrote in message news:<[email protected]>...
> Thanks for the responses--we're working with weblogic support now. We
> think that the custom realm that we have [the developer that wrote it
> left the company] is the problem.
>
> The original developer was told by someone to check:
> weblogic.security.acl.internal.ClusterRealm.THE_ONE != null
>
> In order to determine if the JNDI was available/ready for the whole
> cluster.
>
> It seems that the meaning/setting of THE_ONE changed with this respect
> from
> sp1 to sp3--i.e., this is no longer a valid test to tell us if the
> JNDI is
> ready for the cluster.
>
> We believe this was used because the 'system' user has to be
> authenticated before the custom realm is up. Originally, before this
> check was in place, an exception was received when authenticating
> 'system'. This appears to be a weblogic limitation/issue. Support
> has told us that this is different in weblogic 7.0. Unfortunately, we
> can't upgrade from 6.1 yet.
>
> We'll post the solution when this gets figured out.
>
> Rak
>
> "Sabha" <[email protected]> wrote in message news:<[email protected]>...
> > There was a security restriction enforced from sp2/sp3 onwards in terms of
> > looking up mbeans from admin server.
> >
> > This might cause things to fail if you are attempting to lookup Mbeans with
> > guest priviliges from admin server. Also, can you try doing the following:
> >
> > Run " java weblogic.Admin -url adminServer -username system -password
> > .... -GET -pretty -type Server" and check whether the named clustermember1
> > is available in the list or not.
> >
> > Also you seem to be getting some security exception - can you check that.
> >
> > t3://tomtate.msais.com:7119: Destination
> > unreachable; nested exception is:
> >
> > --- Try running weblogic.Admin PING on this one and see whether you are
> > able to reach this server upon the error message.
> >
> > --Sabha
> >
> > "Rich Koch" <[email protected]> wrote in message
> > news:[email protected]...
> > > We have spent a lot of time trying to get our application deployed to
> > > a cluster using weblogic 6.1 sp3 and we consistently receive a failure
> > > when we attempt to start the managed server. This was not a problem
> > > with weblogic sp1--we got our application to deploy to the cluster
> > > successfully; although there was another weblogic bug there with
> > > clients accessing EJB clusters--we won't go into that here...
> > >
> > > We have tried this on both a Windows 2000 machine and an HP machine
> > > running weblogic sp3. The same error occurs on both platforms.
> > >
> > > The error in deploying our application to the cluster against weblogic
> > > sp3 looks to have to do with our custom security realm. Inside our
> > > custom realm we make use of a configurable providerUrl which we set to
> > > the cluster address/port. The custom realm makes a call where it
> > > passes in the providerUrl to:
> > > weblogic.management.Helper.getMBeanHome(..., providerUrl,...)
> > >
> > > When we have our providerUrl set to the cluster address/port--e.g.,
> > > t3://clustermember1:7001
> > >
> > > and attempt to start the managed server we get the error:
> > >
> > > Starting WebLogic Server ....
> > > Connecting to http://adminserver:7117...
> > >
> ***************************************************************************
> > > The WebLogic Server did not start up properly.
> > > Exception raised:
> > > weblogic.management.configuration.ConfigurationException:
> > > clustermember1 not found
> > > at weblogic.management.Admin.getBootstrapLocalServer(Admin.java:1084)
> > > at weblogic.management.Admin.initialize(Admin.java:340)
> > > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:359)
> > > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:206)
> > > at weblogic.Server.main(Server.java:35)
> > > Reason: Fatal initialization exception
> > >
> ***************************************************************************
> > >
> > > When we have our providerUrl set to the admin server address--e.g.,
> > > t3://adminserver:7117
> > >
> > > everything starts up fine.
> > >
> > > Does anyone know why this would work on sp1 and not sp3 of weblogic
> > > 6.1?
> > > We verified that all passwords are correct and everything else we
> > > could determine--any ideas would be helpful.
> > >
> > > We don't want the providerUrl to point at our admin server, we want it
> > > to point at the cluster address/port.
> > >
> > > When we get the managed server error, we received this error on the
> > > AdminServer:
> > >
> > > 2002-08-15 16:52:23,019 ERROR [ExecuteThread: '11' for queue:
> > > 'default'] (com.msa.gabriel.share.security.wlrealm.GabrielRealm) -
> > > Caught naming exception null; throwing RuntimeException.
> > > javax.naming.CommunicationException. Root exception is
> > > java.net.ConnectException: t3://tomtate.msais.com:7119: Destination
> > > unreachable; nested exception is:
> > > java.net.ConnectException: Connection refused; No available router to
> > > destination
> > > at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
> > > at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
> > > at
> > weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
> > textFactoryDelegate.java:307)
> > > at
> > weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
> > textFactoryDelegate.java:211)
> > > at
> > weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
> > ory.java:149)
> > > at
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:665)
> > > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
> > > at javax.naming.InitialContext.init(InitialContext.java:222)
> > > at javax.naming.InitialContext.<init>(InitialContext.java:198)
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getNamingContext(Gabriel
> > Realm.java:416)
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getConnection(GabrielRea
> > lm.java:347)
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm.access$000(GabrielRealm.
> > java:51)
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm$2.run(GabrielRealm.java:
> > 225)
> > > at weblogic.security.acl.Security.doAsPrivileged(Security.java:489)
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm.myDoAsPrivileged(Gabriel
> > Realm.java:578)
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.jav
> > a:221)
> > > at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
> > > at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
> > > at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
> > > at
> > weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.j
> > ava:356)
> > > at
> > weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(Servle
> > tSecurityManager.java:205)
> > > at
> > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
> > ntext.java:2518)
> > > at
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
> > :2260)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > <Aug 15, 2002 4:52:23 PM EDT> <Error> <HTTP>
> > >
> > <[WebAppServletContext(8091823,wl_management_internal2,/wl_management_intern
> > al2)]
> > > Servlet failed with Exception
> > > java.lang.RuntimeException
> > > at
> > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.jav
> > a:260)
> > > at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
> > > at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
> > > at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
> > > at
> > weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.j
> > ava:356)
> > > at
> > weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(Servle
> > tSecurityManager.java:205)
> > > at
> > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
> > ntext.java:2518)
> > > at
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
> > :2260)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > >
> > >
> > > Thanks for any help.
> > >
> > > Rich
-
How write rmi-iiop over ssl with weblogic server 6.1 - No server found
//New
Hello,
I have written an appication like this:
- An EJB server running on Weblogic server 6.1
(named: BankServerHome)
-A java client calling the BankServer.
Platform: windows 2000 - jdk1.3
Now I want to secure the communication with SSL protocol.
I have done this:
-generate a key peer with weblogic service named certificate.
-send the CSR to a CA and place the answer into the weblogic
server certificate directory.
-update path for ServerCertificateChainFileName,
ServerCertificateFileName, ServerKeyFileName into config.xml.
-launch weblogicServer
-> server certificate is recognized
-> listening port 7001 and 7002.
(-stop weblogicServer!)
At now, all is all right, errors come hereafter:
Then I follow the guideline "Programming weblogic Security" (version of 30/07/2001).
"To use RMI over IIOP over SSL with a Java client, do the following:
2. Extend the java.rmi.server.RMISocketFactory class to handle SSL socket
connections. Be sure to specify the port on which WebLogic Server listens for
SSL connections. For an example of a class that extends the
java.rmi.server.RMISocketFactory class, see Listing 4-22.
3. Run the ejbc compiler with the -d option.
4. Add your extension of the java.rmi.server.RMISocketFactory class to the
CLASSPATH of the Java client.
5. Use the following command options when starting the Java client:
-xbootclasspath/a:%CLASSPATH%
-Dorg.omg.CORBA.ORBSocketFactoryClass=implementation of java.rmi.server.RMISocketFactory
-Dssl.certs=directory location of digital certificate for Java client
-Dssl.key=directory location of private key for Java client"
At step 3. I found into documentation that -d is linked to a directory name.
When I run ejbc with this option -d I have the message:
"ERROR: You must specify an output directory or jar with the -d option to weblogic.ejbc."
% So what option can I use to run ejbc for secure usage?
At step 5. Whatever I write for -Dorg.omg.CORBA.ORBSocketFactoryClass,
this pointed class is not instanciated.
Then I can not create a socket with my client.
The folowing exception is raised:
javax.naming.CommunicationException [Root exception is java.net.ConnectException:
No server found at T3S://localhost:7002]
So, my questions are:
% Why -Dorg.omg.CORBA.ORBSocketFactoryClass must be known by the client and not
the server?
My java client part, managing connection is:
-------------------BEGIN OF CONNECTION MANAGER-------------------
Properties env = new Properties ();
// Shouldn't have to do this, but for now you must
if ( factory.equals ("weblogic.jndi.WLInitialContextFactory") ) {
env.put ("java.naming.provider.url", "t3s://localhost:7002");
InitialContext context = new InitialContext (env);
BankSessionServerHome bssh = (BankServerHome) context.lookup("BankServerHome");
BankServer = bssh.create();
-------------------END OF CONNECTION MANAGER-------------------
I have also try
env.put ("java.naming.provider.url", "corbaloc:iiop://localhost:7002");
but it throws the following error
javax.naming.InvalidNameException: url does not conatin !!!
% What is the code for the java client allowing connection with the ejb?
% And better, can I have a sample example for rmi-iiop over ssl?
(...wlserver6.1\samples\examples\iiop\ejb\stateless\rmiclient\client.java do not
speak ssl!)
Any help will be appreciate from you...
Best Regards.
Oliver"oliver" <[email protected]> writes:
The SSL support is poorly doc'd right now. We have fixed this and
updated the way you do things in SP2. Please either wait for SP2 or
contact support.
andy
I have written an appication like this:
- An EJB server running on Weblogic server 6.1
(named: BankServerHome)
-A java client calling the BankServer.
Platform: windows 2000 - jdk1.3
Now I want to secure the communication with SSL protocol.
I have done this:
-generate a key peer with weblogic service named certificate.
-send the CSR to a CA and place the answer into the weblogic
server certificate directory.
-update path for ServerCertificateChainFileName,
ServerCertificateFileName, ServerKeyFileName into config.xml.
-launch weblogicServer
-> server certificate is recognized
-> listening port 7001 and 7002.
(-stop weblogicServer!)
At now, all is all right, errors come hereafter:
Then I follow the guideline "Programming weblogic Security" (version of 30/07/2001).
"To use RMI over IIOP over SSL with a Java client, do the following:
2. Extend the java.rmi.server.RMISocketFactory class to handle SSL socket
connections. Be sure to specify the port on which WebLogic Server listens for
SSL connections. For an example of a class that extends the
java.rmi.server.RMISocketFactory class, see Listing 4-22.
3. Run the ejbc compiler with the -d option.
4. Add your extension of the java.rmi.server.RMISocketFactory class to the
CLASSPATH of the Java client.
5. Use the following command options when starting the Java client:
-xbootclasspath/a:%CLASSPATH%
-Dorg.omg.CORBA.ORBSocketFactoryClass=implementation of java.rmi.server.RMISocketFactory
-Dssl.certs=directory location of digital certificate for Java client
-Dssl.key=directory location of private key for Java client"
At step 3. I found into documentation that -d is linked to a directory name.
When I run ejbc with this option -d I have the message:
"ERROR: You must specify an output directory or jar with the -d option to weblogic.ejbc."
% So what option can I use to run ejbc for secure usage?
At step 5. Whatever I write for -Dorg.omg.CORBA.ORBSocketFactoryClass,
this pointed class is not instanciated.
Then I can not create a socket with my client.
The folowing exception is raised:
javax.naming.CommunicationException [Root exception is java.net.ConnectException:
No server found at T3S://localhost:7002]
So, my questions are:
% Why -Dorg.omg.CORBA.ORBSocketFactoryClass must be known by the client and not
the server?
My java client part, managing connection is:
-------------------BEGIN OF CONNECTION MANAGER-------------------
Properties env = new Properties ();
// Shouldn't have to do this, but for now you must
if ( factory.equals ("weblogic.jndi.WLInitialContextFactory") ) {
env.put ("java.naming.provider.url", "t3s://localhost:7002");
InitialContext context = new InitialContext (env);
BankSessionServerHome bssh = (BankServerHome) context.lookup("BankServerHome");
BankServer = bssh.create();
-------------------END OF CONNECTION MANAGER-------------------
I have also try
env.put ("java.naming.provider.url", "corbaloc:iiop://localhost:7002");
but it throws the following error
javax.naming.InvalidNameException: url does not conatin !!!
% What is the code for the java client allowing connection with the ejb?
% And better, can I have a sample example for rmi-iiop over ssl?
(...wlserver6.1\samples\examples\iiop\ejb\stateless\rmiclient\client.java do not
speak ssl!)
Any help will be appreciate from you...
Best Regards.
Oliver -
How write rmi-iiop over ssl with weblogic server 6.1?
Hello,
I have written an appication like this:
- An EJB server running on Weblogic server 6.1
(named: BankServerHome)
-A java client calling the BankServer.
Platform: windows 2000 - jdk1.4
Now I want to secure the communication with SSL protocol.
I have done this:
-generate a key peer with weblogic service named certificate.
-send the CSR to a CA and place the answer into the weblogic
server certificate directory.
-update path for ServerCertificateChainFileName,
ServerCertificateFileName, ServerKeyFileName into config.xml.
-launch weblogicServer
-> server certificate is recognized
-> listening port 7001 and 7002.
(-stop weblogicServer!)
At now, all is all right, errors come hereafter:
Then I follow the guideline "Programming weblogic Security" (version of 30/07/2001).
"To use RMI over IIOP over SSL with a Java client, do the following:
2. Extend the java.rmi.server.RMISocketFactory class to handle SSL socket
connections. Be sure to specify the port on which WebLogic Server listens for
SSL connections. For an example of a class that extends the
java.rmi.server.RMISocketFactory class, see Listing 4-22.
3. Run the ejbc compiler with the -d option.
4. Add your extension of the java.rmi.server.RMISocketFactory class to the
CLASSPATH of the Java client.
5. Use the following command options when starting the Java client:
-xbootclasspath/a:%CLASSPATH%
-Dorg.omg.CORBA.ORBSocketFactoryClass=implementation of java.rmi.server.RMISocketFactory
-Dssl.certs=directory location of digital certificate for Java client
-Dssl.key=directory location of private key for Java client"
At step 3. I found into documentation that -d is linked to a directory name.
When I run ejbc with this option -d I have the message:
"ERROR: You must specify an output directory or jar with the -d option to weblogic.ejbc."
% So what option can I use to run ejbc for secure usage?
At step 5. Whatever I write for -Dorg.omg.CORBA.ORBSocketFactoryClass,
this pointed class is not instanciated.
Then I can not create a socket with my client.
The folowing exception is raised:
javax.naming.CommunicationException [Root exception is java.net.ConnectException:
No server found at T3S://localhost:7002]
So, my questions are:
% Why -Dorg.omg.CORBA.ORBSocketFactoryClass must be known by the client and not
the server?
My java client part, managing connection is:
-------------------BEGIN OF CONNECTION MANAGER-------------------
Properties env = new Properties ();
// Shouldn't have to do this, but for now you must
if ( factory.equals ("weblogic.jndi.WLInitialContextFactory") ) {
env.put ("java.naming.provider.url", "t3s://localhost:7002");
} else {
env.put ("java.naming.provider.url", "rmi://localhost:7002");
InitialContext context = new InitialContext (env);
BankSessionServerHome bssh = (BankServerHome) context.lookup("BankServerHome");
BankServer = bssh.create();
-------------------END OF CONNECTION MANAGER-------------------
% What is the code for the java client allowing connection with the ejb?
% And better, can I have a sample example for rmi-iiop over ssl?
(...wlserver6.1\samples\examples\iiop\ejb\stateless\rmiclient\client.java do not
speak ssl!)
Any help will be appreciate from you...
Best Regards.
Oliver"oliver" <[email protected]> writes:
First off 1.4 isn't supported as yet. That is probably part of the problem.
You also must use a corba URL from the client in order for this to work for instance:
If you are using WLInitialContextFactory:
corbaloc:iiop:localhost:7001/NameService
If you are using CNCtxFactory:
iiop://localhost:7001
Using rmi: is the wrong thing to do - that will use jrmp or t3.
However, I suggest that you raise a call with support since there is
some other trickiness with getting SSL working. We hope to have this
much improved in SP2.
andy
Hello,
I have written an appication like this:
- An EJB server running on Weblogic server 6.1
(named: BankServerHome)
-A java client calling the BankServer.
Platform: windows 2000 - jdk1.4
Now I want to secure the communication with SSL protocol.
I have done this:
-generate a key peer with weblogic service named certificate.
-send the CSR to a CA and place the answer into the weblogic
server certificate directory.
-update path for ServerCertificateChainFileName,
ServerCertificateFileName, ServerKeyFileName into config.xml.
-launch weblogicServer
-> server certificate is recognized
-> listening port 7001 and 7002.
(-stop weblogicServer!)
At now, all is all right, errors come hereafter:
Then I follow the guideline "Programming weblogic Security" (version of 30/07/2001).
"To use RMI over IIOP over SSL with a Java client, do the following:
2. Extend the java.rmi.server.RMISocketFactory class to handle SSL socket
connections. Be sure to specify the port on which WebLogic Server listens for
SSL connections. For an example of a class that extends the
java.rmi.server.RMISocketFactory class, see Listing 4-22.
3. Run the ejbc compiler with the -d option.
4. Add your extension of the java.rmi.server.RMISocketFactory class to the
CLASSPATH of the Java client.
5. Use the following command options when starting the Java client:
-xbootclasspath/a:%CLASSPATH%
-Dorg.omg.CORBA.ORBSocketFactoryClass=implementation of java.rmi.server.RMISocketFactory
-Dssl.certs=directory location of digital certificate for Java client
-Dssl.key=directory location of private key for Java client"
At step 3. I found into documentation that -d is linked to a directory name.
When I run ejbc with this option -d I have the message:
"ERROR: You must specify an output directory or jar with the -d option to weblogic.ejbc."
% So what option can I use to run ejbc for secure usage?
At step 5. Whatever I write for -Dorg.omg.CORBA.ORBSocketFactoryClass,
this pointed class is not instanciated.
Then I can not create a socket with my client.
The folowing exception is raised:
javax.naming.CommunicationException [Root exception is java.net.ConnectException:
No server found at T3S://localhost:7002]
So, my questions are:
% Why -Dorg.omg.CORBA.ORBSocketFactoryClass must be known by the client and not
the server?
My java client part, managing connection is:
-------------------BEGIN OF CONNECTION MANAGER-------------------
Properties env = new Properties ();
// Shouldn't have to do this, but for now you must
if ( factory.equals ("weblogic.jndi.WLInitialContextFactory") ) {
env.put ("java.naming.provider.url", "t3s://localhost:7002");
} else {
env.put ("java.naming.provider.url", "rmi://localhost:7002");
InitialContext context = new InitialContext (env);
BankSessionServerHome bssh = (BankServerHome) context.lookup("BankServerHome");
BankServer = bssh.create();
-------------------END OF CONNECTION MANAGER-------------------
% What is the code for the java client allowing connection with the ejb?
% And better, can I have a sample example for rmi-iiop over ssl?
(...wlserver6.1\samples\examples\iiop\ejb\stateless\rmiclient\client.java do not
speak ssl!)
Any help will be appreciate from you...
Best Regards.
Oliver -
Problem with weblogic.Deployer in 8.1
I have a problem with weblogic.Deployer. My application deploys and works fine
if I manually copy the ear or the exploded form into weblogic's applications\
directory (hot deployment). But, if I use the weblogic.Deployer tool, it fails
with the following exception. Does the deployer tool expect something in the ear
(or exploded form) that I'm missing? Thanks in advance.
-Vas
[wldeploy] java.lang.NullPointerException
[wldeploy] at weblogic.rmi.internal.StubGenerator.getStubOnClient(StubGener
ator.java:785)
[wldeploy] at weblogic.rmi.internal.StubGenerator.getStubClass(StubGenerato
r.java:758)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:803)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:790)
[wldeploy] at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:
79)
[wldeploy] at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootSe
rviceStub.java:50)
[wldeploy] at weblogic.security.acl.internal.Security.authenticate(Security
.java:152)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRem
otely(WLInitialContextFactoryDelegate.java:597)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLI
nitialContextFactoryDelegate.java:534)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLIn
itialContextFactoryDelegate.java:336)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialConte
xt(WLInitialContextFactoryDelegate.java:308)
[wldeploy] at weblogic.jndi.Environment.getContext(Environment.java:164)
[wldeploy] at weblogic.jndi.Environment.getInitialContext(Environment.java:
143)
[wldeploy] at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(M
BeanHomeTool.java:157)
[wldeploy] at weblogic.Deployer.runBody(Deployer.java:555)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wldeploy] at weblogic.Deployer.main(Deployer.java:399)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:324)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy
.java:209)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.ja
va:170)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:319)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:309)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1250
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[wldeploy] at org.apache.tools.ant.Main.start(Main.java:196)
[wldeploy] at org.apache.tools.ant.Main.main(Main.java:235)
[wldeploy] --------------- nested within: ------------------
[wldeploy] weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed
to generate class for weblogic.common.internal.RMIBootServiceImpl_811_WLStub ]
with nested exception:
[wldeploy] [java.lang.NullPointerException]
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:807)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:790)
[wldeploy] at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:
79)
[wldeploy] at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootSe
rviceStub.java:50)
[wldeploy] at weblogic.security.acl.internal.Security.authenticate(Security
.java:152)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRem
otely(WLInitialContextFactoryDelegate.java:597)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLI
nitialContextFactoryDelegate.java:534)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLIn
itialContextFactoryDelegate.java:336)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialConte
xt(WLInitialContextFactoryDelegate.java:308)
[wldeploy] at weblogic.jndi.Environment.getContext(Environment.java:164)
[wldeploy] at weblogic.jndi.Environment.getInitialContext(Environment.java:
143)
[wldeploy] at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(M
BeanHomeTool.java:157)
[wldeploy] at weblogic.Deployer.runBody(Deployer.java:555)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wldeploy] at weblogic.Deployer.main(Deployer.java:399)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:324)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy
.java:209)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.ja
va:170)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:319)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:309)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1250
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[wldeploy] at org.apache.tools.ant.Main.start(Main.java:196)
[wldeploy] at org.apache.tools.ant.Main.main(Main.java:235)
[wldeploy] java.lang.reflect.InvocationTargetException
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:324)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy
.java:209)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.ja
va:170)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:319)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:309)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1250
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[wldeploy] at org.apache.tools.ant.Main.start(Main.java:196)
[wldeploy] at org.apache.tools.ant.Main.main(Main.java:235)
[wldeploy] Caused by: weblogic.utils.AssertionError: ***** ASSERTION FAILED ***
**[ Failed to generate class for weblogic.common.internal.RMIBootServiceImpl_811
_WLStub ] - with nested exception:
[wldeploy] [java.lang.NullPointerException]
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:807)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:790)
[wldeploy] at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:
79)
[wldeploy] at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootSe
rviceStub.java:50)
[wldeploy] at weblogic.security.acl.internal.Security.authenticate(Security
.java:152)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRem
otely(WLInitialContextFactoryDelegate.java:597)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLI
nitialContextFactoryDelegate.java:534)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLIn
itialContextFactoryDelegate.java:336)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialConte
xt(WLInitialContextFactoryDelegate.java:308)
[wldeploy] at weblogic.jndi.Environment.getContext(Environment.java:164)
[wldeploy] at weblogic.jndi.Environment.getInitialContext(Environment.java:
143)
[wldeploy] at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(M
BeanHomeTool.java:157)
[wldeploy] at weblogic.Deployer.runBody(Deployer.java:555)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wldeploy] at weblogic.Deployer.main(Deployer.java:399)
[wldeploy] ... 15 moreHi Deepak,
I didn't understand the suggested resolution. Can you tell me what it means?
However, I found a similar problem in the archives, so I tried from command line
(outside ant) using "java weblogic.Delployer ...." and it worked! It doesn't work
from ant. So, you think there's some conflict between my ant and weblogic's ant
task "WLDdeploy"?
Thanks,
Vas
"Deepak Vohra" <[email protected]> wrote:
>
Refer to
http://e-docs.bea.com/wls/docs70/notes/resolved.html#1296363
"vas pulipati" <[email protected]> wrote:
I have a problem with weblogic.Deployer. My application deploys andworks
fine
if I manually copy the ear or the exploded form into weblogic's applications\
directory (hot deployment). But, if I use the weblogic.Deployer tool,
it fails
with the following exception. Does the deployer tool expect something
in the ear
(or exploded form) that I'm missing? Thanks in advance.
-Vas
[wldeploy] java.lang.NullPointerException
[wldeploy] at weblogic.rmi.internal.StubGenerator.getStubOnClient(StubGener
ator.java:785)
[wldeploy] at weblogic.rmi.internal.StubGenerator.getStubClass(StubGenerato
r.java:758)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:803)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:790)
[wldeploy] at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:
79)
[wldeploy] at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootSe
rviceStub.java:50)
[wldeploy] at weblogic.security.acl.internal.Security.authenticate(Security
.java:152)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRem
otely(WLInitialContextFactoryDelegate.java:597)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLI
nitialContextFactoryDelegate.java:534)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLIn
itialContextFactoryDelegate.java:336)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialConte
xt(WLInitialContextFactoryDelegate.java:308)
[wldeploy] at weblogic.jndi.Environment.getContext(Environment.java:164)
[wldeploy] at weblogic.jndi.Environment.getInitialContext(Environment.java:
143)
[wldeploy] at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(M
BeanHomeTool.java:157)
[wldeploy] at weblogic.Deployer.runBody(Deployer.java:555)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wldeploy] at weblogic.Deployer.main(Deployer.java:399)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:324)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy
.java:209)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.ja
va:170)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:319)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:309)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1250
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[wldeploy] at org.apache.tools.ant.Main.start(Main.java:196)
[wldeploy] at org.apache.tools.ant.Main.main(Main.java:235)
[wldeploy] --------------- nested within: ------------------
[wldeploy] weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[
Failed
to generate class for weblogic.common.internal.RMIBootServiceImpl_811_WLStub
with nested exception:
[wldeploy] [java.lang.NullPointerException]
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:807)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:790)
[wldeploy] at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:
79)
[wldeploy] at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootSe
rviceStub.java:50)
[wldeploy] at weblogic.security.acl.internal.Security.authenticate(Security
.java:152)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRem
otely(WLInitialContextFactoryDelegate.java:597)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLI
nitialContextFactoryDelegate.java:534)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLIn
itialContextFactoryDelegate.java:336)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialConte
xt(WLInitialContextFactoryDelegate.java:308)
[wldeploy] at weblogic.jndi.Environment.getContext(Environment.java:164)
[wldeploy] at weblogic.jndi.Environment.getInitialContext(Environment.java:
143)
[wldeploy] at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(M
BeanHomeTool.java:157)
[wldeploy] at weblogic.Deployer.runBody(Deployer.java:555)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wldeploy] at weblogic.Deployer.main(Deployer.java:399)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:324)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy
.java:209)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.ja
va:170)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:319)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:309)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1250
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[wldeploy] at org.apache.tools.ant.Main.start(Main.java:196)
[wldeploy] at org.apache.tools.ant.Main.main(Main.java:235)
[wldeploy] java.lang.reflect.InvocationTargetException
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[wldeploy] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[wldeploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
[wldeploy] at java.lang.reflect.Method.invoke(Method.java:324)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.invokeMain(WLDeploy
.java:209)
[wldeploy] at weblogic.ant.taskdefs.management.WLDeploy.execute(WLDeploy.ja
va:170)
[wldeploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:166)
[wldeploy] at org.apache.tools.ant.Task.perform(Task.java:319)
[wldeploy] at org.apache.tools.ant.Target.execute(Target.java:309)
[wldeploy] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wldeploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[wldeploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1250
[wldeploy] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[wldeploy] at org.apache.tools.ant.Main.start(Main.java:196)
[wldeploy] at org.apache.tools.ant.Main.main(Main.java:235)
[wldeploy] Caused by: weblogic.utils.AssertionError: ***** ASSERTION
FAILED ***
**[ Failed to generate class for weblogic.common.internal.RMIBootServiceImpl_811
_WLStub ] - with nested exception:
[wldeploy] [java.lang.NullPointerException]
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:807)
[wldeploy] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerato
r.java:790)
[wldeploy] at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:
79)
[wldeploy] at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootSe
rviceStub.java:50)
[wldeploy] at weblogic.security.acl.internal.Security.authenticate(Security
.java:152)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRem
otely(WLInitialContextFactoryDelegate.java:597)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLI
nitialContextFactoryDelegate.java:534)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLIn
itialContextFactoryDelegate.java:336)
[wldeploy] at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialConte
xt(WLInitialContextFactoryDelegate.java:308)
[wldeploy] at weblogic.jndi.Environment.getContext(Environment.java:164)
[wldeploy] at weblogic.jndi.Environment.getInitialContext(Environment.java:
143)
[wldeploy] at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(M
BeanHomeTool.java:157)
[wldeploy] at weblogic.Deployer.runBody(Deployer.java:555)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wldeploy] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wldeploy] at weblogic.Deployer.main(Deployer.java:399)
[wldeploy] ... 15 more -
QUESTION Re. Integrating TIBCO EMS with Weblogic 8.1 using MDB
Hi All,
I am trying to integrate TIBCO EMS 4.3.0 with Weblogic 8.1 SP6.
I have created a topic "SIMPLE.TOPIC" on the EMS. I have configured the Foreign JMS Server as follows:
Name: TIBCO JMSServer
JNDI Initial Context Factory:com.tibco.tibjms.naming.TibjmsInitialContextFactory
JNDI Connection URL:tibjmsnaming://emshost:emsport
I have configured the connection factory as follows:
Name: TIBCO JMSTopicConnectionFactory
Local JNDI Name: TopicConnectionFactory.Local
Remote JNDI Name:TopicConnectionFactory
User Name:username to connect to EMS server
Password::pssword to connect to EMS server
My JMS destination is configured as follows:
Name: Tibco JMS Destination
Local JNDI Name:SIMPLE.TOPIC.LOCAL
Remote JNDI Name:SIMPLE.TOPIC
My weblogic-ejb-jar.xml consists of the following code:
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>SimpleTopicListener</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>200</max-beans-in-free-pool>
<initial-beans-in-free-pool>20</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>SIMPLE.TOPIC</destination-jndi-name>
<connection-factory-jndi-name>TopicConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
<enable-call-by-reference>True</enable-call-by-reference>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
The problem is, when I try to deploy this mdb, I get the following error:
The Message-Driven EJB attempted to connect to the JMS destination with the JNDI name: SIMPLE.TOPIC. However, the object with the JNDI name: SIMPLE.TOPIC is not a JMS destination, or the destination found was of the wrong type (Topic or Queue).
I have checked and double checked to make sure that the topic SIMPLE.TOPIC does exist on the EMS server.
Does anyone know what is the issue here and how to resolve it?
Many thanks!
-Kinshuk
Edited by kinshukk at 05/14/2007 8:35 AM(1) Check the standard ejb jar and make sure you've specified a topic destination type (the default is queue). For details, you can reference the WebLogic 9.0 MDB developer guide (the MDB dev guide was revised in 9.0 to include more detail than the 8.1 guide). Also, you might want to take a look at our integration/interop FAQ (again for 9.0 or later).
(2) Change the weblogic-ejb-jar to reference the foreign local JNDI names - not the remote JNDI names.
(3) Be careful about using the "." and "/" characters in local JNDI names - these have side-effects in JNDI (they force creation of subcontexts).
Tom
Maybe you are looking for
-
Is there a way to write a function function f(c sys_refcursor) return number; which is called from sql (for example like this) select f( cursor(...) ) from dual and returns the number of columns specified in the cursor expression; One suggestion coul
-
OMBPLUS Error OMB01701 on lowercase column name
Hi, I am trying to rename columns on tables that have been imported into OWB from a Sybase database with mixed and lowercase column names. However I get the OMB01701 error. I can see these columns looking at a dummy table I created also by importing
-
E75 - LAN Proxy Username\Password WHERE ??
Hi, After I thought that I found what was wrong and that I forgot to configure the proxy for the LAN connection I discovered that there is no place to enter the username and password for the proxy. Up until now everything was stright forward and easy
-
LaCie Ethernet Big Disk | USB Slow
Hi, I'm using a LaCie Ethernet Big Disk (1TB) as a backup HD to my iMac. While both the HD and Mac support USB 2.0, the data is flowing at a 3.46 MB/s. I thought USB 2.0 ought, in theory at least, to run at 60MB/s. The connection is via an Ethernet A
-
I bought elements 7 a few yrs ago. I am very happy using it and have no need to upgrade. I recently bought a new PC and now I want to download elements 7 on it. Where can I download it from? cannot find any on the adobe website