Bug in WLS 9.1 clustering?

I am in the process of testing WLS 9.1, and I'm seeing some strange behavior in a clustered environment. Since we are only in development, I've been performing in-place redeployments for the various EARs that we're testing. Sometimes this works fine, but other times it appears to corrupt the deployment on one of the managed servers. If I look at the server logs I can see that the applications are being redeployed on both managed servers, but when I look at the actual application logs it appears that the MDBs on one of the servers are not getting destroyed and recreated properly. As a result, when we attempt to perform some processing and a JMS message happens to go to the "corrupted" server, strange "NoClassDefFoundError" exceptions and other errors are thrown. However, the EAR seems to work properly on the other managed server as well as on my local machine so I know that there is no problem with it. This only happens sporadically; I cannot recreate it "on demand". Is this a bug? (By the way, we had no trouble running our cluster in WLS 9.0 so I assume that the cluster configuration is not the problem.)
          Regards,
          Sabrina

I have a similar problem with WLS 9.1. When I deploy an ear file, i can see the login page, but, when I login it throws an error saying "internal server error". When I check my stage folder, entire ear file is copied there, its not expanded. I dont have any problem with 9.0. Is this a bug in 9.1?
          when i deploy a .war file it says "Cannot set web app root system property when WAR file is not expanded". but, when i expand it and deploy, it works fine.
          I have already opened a case on this. I did not get any response from BEA. Its urgent for us. Did anyone of you solve this issue. If yes, please let me know the resolution.
          I really appreciate any help on this.
          Thanks a bunch
          Sarat

Similar Messages

  • Serialization Exception with a MailSession in a WLS 9.1 Clusterred Env.

    I have a WLS 9.1 cluster of 2 machines. My EJB's are targetted to both
    machines in the cluster, and I have a single WLS MailSession that is
    targetted to both machines in the cluster.
    One of the EJB's is responsible for sending emails. Every so often I get a
    NotSerializableException when the EJB looksup the mail session. After some
    diagnosis it appears that every once in a while the JNDI lookup for the mail
    session returns the MailSession from the opposite machine in the cluster:
    IE: the EJB running on server 1, gets the MailSession from server 2, and
    vice-versa.
    When the same EJB is running in a non clustered env, there are no problems.
    And the problem in the cluster is intermittent - sometimes the lookup
    succeeds and the EJB gets a handle to the local MailSession object, and
    sometimes it fails.
    Has anyone else experienced this problem? Is this a known problem? If so,
    are there any patches for it?
    Thanks,
    Brett
    The exception is:
    javax.naming.ConfigurationException [Root exception is
    java.rmi.MarshalException: error marshalling return; nested exception is: \n
    java
    .io.NotSerializableException: javax.mail.Session]\n at
    weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTra
    nslator.java:46)\n at
    weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:78)\n
    at weblogic.
    jndi.internal.WLContextImpl.translateException(WLContextImpl.java:421)\n at
    weblogic.jndi.internal.WLContextImpl.lookup(WLCon
    textImpl.java:377)\n at
    weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:362)\n at
    javax.naming.InitialConte
    xt.lookup(InitialContext.java:351)\n at
    com.certapay.ejb.Mailer.send(Mailer.java:55)

    I am having exact same problem (albeit accessing the mail session through spring wrapper). Has anyone got this to work? If not, looks liek a bug in BEA :-).
    Anuj

  • Error when ejb deployment in WLS 9.1 clustered environment

    Hello,
    We have a WLS 9.1 cluster consisting of one admin server and two managed servers. we are deploying ejb jar,It is succeed on the first managed server but fail on the second managed server. The admin console and for the second managed server contains the following log(below given). I checked the classpath of two managed servers, It is same in two servers. when i restarted the two managed servers, application is in active state but not running in second managed sever complining for one ejb class that the jndi-name in the weblogic-ejb-jar.xml is not correct. If it is not correct it should not run in first managed server also right.
    please help me whether Am I doing something wrong or is this a bug?
    below given the log when i deployed the ejb.
    ####<May 18, 2007 9:49:22 AM GMT> <Error> <Deployer> <tool2> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1179481762802> <BEA-149265> <Failure occured in the execution of deployment request with ID '1179481757718' for task '8'. Error is: 'java.lang.AssertionError: Assertion violated'
    java.lang.AssertionError: Assertion violated
    at weblogic.utils.Debug.assertion(Debug.java:57)
    at weblogic.cluster.migration.MigrationManager.unregister(MigrationManager.java:246)
    at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.onUndeploy(MessageDrivenBeanInfoImpl.java:999)
    at weblogic.ejb.container.manager.BaseEJBManager.undeploy(BaseEJBManager.java:467)
    at weblogic.ejb.container.manager.MessageDrivenManager.undeploy(MessageDrivenManager.java:570)
    at weblogic.ejb.container.deployer.EJBDeployer.deactivate(EJBDeployer.java:1817)
    at weblogic.ejb.container.deployer.EJBModule.doDeactivate(EJBModule.java:1041)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:420)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:60)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:640)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:252)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:567)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:131)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:101)
    at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:126)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:329)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:845)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1246)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:432)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    java.lang.AssertionError: Assertion violated
    at weblogic.utils.Debug.assertion(Debug.java:57)
    at weblogic.cluster.migration.MigrationManager.unregister(MigrationManager.java:246)
    at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.onUndeploy(MessageDrivenBeanInfoImpl.java:999)
    at weblogic.ejb.container.manager.BaseEJBManager.undeploy(BaseEJBManager.java:467)
    at weblogic.ejb.container.manager.MessageDrivenManager.undeploy(MessageDrivenManager.java:570)
    at weblogic.ejb.container.deployer.EJBDeployer.deactivate(EJBDeployer.java:1817)
    at weblogic.ejb.container.deployer.EJBModule.doDeactivate(EJBModule.java:1041)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:420)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:60)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:640)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:252)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:567)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:131)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:101)
    at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:126)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:329)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:845)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1246)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:432)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    >
    ####<May 18, 2007 9:49:22 AM GMT> <Error> <Deployer> <tool2> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1179481762823> <BEA-149202> <Encountered an exception while attempting to commit the 7 task for the application 'MyEJB'.
    Regards,
    mohan
    Edited by raj_bea_raj at 05/29/2007 1:35 AM
    Edited by raj_bea_raj at 05/29/2007 1:41 AM

    If you're using OC4J standalone, use the latest available OC4J, 10.1.3.3.
    If you're using a manage OC4J, ie. Application Server, upgrade to the latest available version and upgrade your JDK. The provided JDK might be outdated.
    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Bug in WLS 8.1

    Hi,
    I enable JCOM in WLS 8.1.2 and once awhile I would see the following error message
    throw by WLS Server. I assuming it's a bug within weblogic.
    <May 4, 2004 8:49:31 AM CDT> <Error> <Kernel> <BEA-000802> <ExecuteRequest faile
    d
    java.lang.NullPointerException.
    java.lang.NullPointerException
    at java.util.Hashtable.get(Ljava.lang.Object;)Ljava.lang.Object;(Optimiz
    ed Method)
    at weblogic.com.COMService.getSubjectFromCache(Ljava.lang.Object;)Lweblo
    gic.security.acl.internal.AuthenticatedSubject;(COMService.java:133)
    at weblogic.com.COMExecuteRequest.execute(Lweblogic.kernel.ExecuteThread
    ;)V(COMExecuteRequest.java:67)
    at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest
    ;)V(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
    at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Sourc
    e)
    >

    Hello,
    In general, JNDI clients should assume the correct environment is already configured so there is no need to explicitly set property values and pass them to the InitialContext constructor. However, a JNDI client may need to access a name space other than the one identified in its environment. In this case, it is necessary to explicitly set the java.naming.provider.url (provider URL) property used by the InitialContext constructor. A provider URL contains bootstrap server information that the initial context factory can use to obtain an initial context. Any property values passed in directly to the InitialContext constructor take precedence over settings of those same properties found elsewhere in the environment.
    Context.PROVIDER_URL— specifies the URL of the WebLogic Server that provides the name service. The default is t3://localhost:7001. So that you are getting the following result:
    ProviderURL=t3://localhost:7001
    Regards,
    Kuldeep Singh.

  • Is the trial version of WLS 6.1 clusterable ?

              Hi all,
              I'd like to know if the trial version of WLS 6.1
              (available for downloading) is clustarable - or -
              only the product with license is clusterable.
              Thanks
              Francesco
              

    It should be.
              Michael Girdley
              BEA Systems
              Learning WebLogic? Buy the book:
              http://www.learnweblogic.com/
              At Amazon:
              http://www.amazon.com/exec/obidos/ASIN/0130911119/learnweblogic/103-6817548-
              3834229
              "Pen Friend" <[email protected]> wrote in message
              news:[email protected]..
              > Francesco,
              >
              > Open the license.bea in the bea home and see if it has a cluster license
              > component. If yes, then the eval ersion can be clustered.
              >
              > Francesco wrote:
              >
              > > Hi all,
              > > I'd like to know if the trial version of WLS 6.1
              > > (available for downloading) is clustarable - or -
              > > only the product with license is clusterable.
              > > Thanks
              > > Francesco
              >
              

  • Bug in WLS 6.1 DataSource + Oracle Pool

    Does any one has arrived to execute an Oracle Stored procedure which
    return a CURSOR in response with JDBC through the DataSource?
    It's working perfectly with WLS 5.1sp9 to 6.0sp2
    and NOT with the 6.1 (even sp1) ...
    Exception : weblogic.jdbc.rmi.internal.ResultSetImpl
    Any idea ?
    Best regards.

    Does any one has arrived to execute an Oracle Stored procedure which
    return a CURSOR in response with JDBC through the DataSource?
    It's working perfectly with WLS 5.1sp9 to 6.0sp2
    and NOT with the 6.1 (even sp1) ...
    Exception : weblogic.jdbc.rmi.internal.ResultSetImpl
    Any idea ?
    Best regards.

  • Help needed with wls 8 and clustering

    Hi,
    I need to synchronize the access to some entity beans in a cluster environment.
    What is the most common pattern? Should my transaction hold a lock on the db during
    while it's executing to ensure data integrity? Does weblogic offer any kind of
    automatic status replication between entity ejbs in a cluster? I couldn't find
    any useful info about that.
    Thanks,
    A.

    Typically we'd recommend using the optimistic concurrency option.
    -- Rob
    iggy wrote:
    Hi,
    I need to synchronize the access to some entity beans in a cluster environment.
    What is the most common pattern? Should my transaction hold a lock on the db during
    while it's executing to ensure data integrity? Does weblogic offer any kind of
    automatic status replication between entity ejbs in a cluster? I couldn't find
    any useful info about that.
    Thanks,
    A.

  • WLS 5.1 Clustering Conflict message help

    Does anyone know what this means?
              Wed Jun 07 10:10:43 EDT 2000:<I> <ServletContext-General> file: init
              Wed Jun 07 10:13:24 EDT 2000:<I> <ConflictHandler> ConflictStart
              weblogic.server.server:weblogic.t3.srvr.T3Srvr (from
              [email protected]:[
              <mailto:[email protected]:[>
              7601,7601,7002,7002,7601,-1])
              Wed Jun 07 10:13:24 EDT 2000:<I> <ConflictHandler> ConflictStart
              weblogic.server.server:weblogic.t3.srvr.T3Srvr_WLStub (from
              [email protected]:[
              <mailto:[email protected]:[>
              7601,7601,7002,7002,7601,-1])
              Your help is always appreciated
              thanks
              Mike Horn
              [email protected]
              

    Does this happen all the time?
              Are you by any chance giving the same name for both the servers in the
              cluster. You should name them different.
              - Prasad
              Mike Horn wrote:
              > Does anyone know what this means?
              >
              > Wed Jun 07 10:10:43 EDT 2000:<I> <ServletContext-General> file: init
              > Wed Jun 07 10:13:24 EDT 2000:<I> <ConflictHandler> ConflictStart
              > weblogic.server.server:weblogic.t3.srvr.T3Srvr (from
              > [email protected]:[
              > <mailto:[email protected]:[>
              > 7601,7601,7002,7002,7601,-1])
              > Wed Jun 07 10:13:24 EDT 2000:<I> <ConflictHandler> ConflictStart
              > weblogic.server.server:weblogic.t3.srvr.T3Srvr_WLStub (from
              > [email protected]:[
              > <mailto:[email protected]:[>
              > 7601,7601,7002,7002,7601,-1])
              >
              > Your help is always appreciated
              >
              > thanks
              > Mike Horn
              > [email protected]
              

  • WTC config when WLS is clustered...

    How does this WTC works with tuxedo when WLS is clustered.
    I am using Tuxedo 8.0 and WLS 81. sp2.
    This is what I am trying to achieve.
    I have a tuxedo domain and two servers in WLS cluster. The WLS server has ejb's which provide identical sevices. These services must be accessed from tuxedo. I can make these two talk if WLS is not clustered. If WLS is clustered I see the tuxedo sending the transaction... but it reaches no where on the WLS side.., even though the -Dweblogic.wtc.TraceLevel=100000 is set.
    Here is the config.xml
    <WTCServer Name="CRSWTC1" Targets="crs-server1">
    <WTCLocalTuxDom AccessPoint="TDOM2" AccessPointId="TDOM2"
    BlockTime="6" ConnPrincipalName=""
    ConnectionPolicy="ON_STARTUP"
    NWAddr="//base1.x.x.x:16666"
    Name="WTCLocalTuxDom-1101230072422" RetryInterval="6"/>
    <WTCRemoteTuxDom AccessPoint="TDOM1" AccessPointId="TDOM1"
    ConnectionPolicy="ON_STARTUP" LocalAccessPoint="TDOM2"
    NWAddr="//chela.x.x.x:16665" Name="WTCRemoteTuxDom-1101230111003"/>
    <WTCExport EJBName="tuxedo.service.WTCRatingService"
    LocalAccessPoint="TDOM2" Name="WTCExport-1101230154745"
    RemoteName="" ResourceName="CRS"/>
    </WTCServer>
    <WTCServer Name="CRSWTC2" Targets="">
    <WTCLocalTuxDom AccessPoint="TDOM3" AccessPointId="TDOM3"
    BlockTime="6" ConnectionPolicy="ON_STARTUP"
    NWAddr="//base2.x.x.x:16666"
    Name="WTCLocalTuxDom-1101250069145" RetryInterval="6"/>
    <WTCRemoteTuxDom AccessPoint="TDOM1" AccessPointId="TDOM1"
    ConnectionPolicy="ON_STARTUP" LocalAccessPoint="TDOM3"
    NWAddr="//chela.x.x.x:16665" Name="WTCRemoteTuxDom-1101250249369"/>
    <WTCExport EJBName="tuxedo.service.WTCRatingService"
    LocalAccessPoint="TDOM3" Name="WTCExport-1101250295839"
    RemoteName="" ResourceName="CRS"/>
    </WTCServer>
    Any help is appreciated...

    Well your second WTC server instance isn't targeted (deployed) to anything. So WTC is only running on one node in your cluster, crs-server1.
    What you want is to create a WTC server instance for each node in the cluster. To Tuxedo, each node in the cluster appears to be a separate domain. Then on the Tuxedo side in the domain gateway config file, import the service from each WLS domain (node).
    Does that make sense?
    Regards,
    Todd Little
    BEA Tuxedo Engineering

  • How do i make wls 9.2 stop shutting itself down within eclipse 3.2.2?

    after starting weblogic server 9.2 mp1 from within eclipse
    sdk 3.2.2 build M20070212-1330 for solaris gtk, something
    programatically requests weblogic server 9.2 to shut
    itself down only seconds after the server has started.
    steps to reproduce:
    1. download & install [url http://download.eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/]eclipse sdk 3.2.2 build M20070212-1330 for solaris
    (eclipse-SDK-3.2.2-solaris-gtk.zip)
    2. update eclipse sdk with the [url http://download.eclipse.org/webtools/downloads/drops/R1.5/R-1.5.3-200702082048/]Web Tools Platform (WTP)
    1.5.3 plus all of the WTP 1.5.3 pre-reqs
    3. download & install [url http://commerce.bea.com/showallversions.jsp?family=WLS]bea weblogic server 9.2 mp1 binary
    package installer for solaris 9 sparc
    4. confirm that bea weblogic server's sample domain can
    be started from the solaris 9's shell
    $ $BEA_HOME/weblogic92/samples/domains/workshop/startWebLogic.sh
    5. create a j2ee enterprise application by following the
    instructions in [url http://www.eclipse.org/webtools/community/tutorials/BuildJ2EEWebApp/BuildJ2EEWebApp.html]this WTP tutorial
    a. in the "Choose a Server Runtime Environment" step,
    choose BEA WebLogic 9.2 server instead of Tomcat.
    6. start the generic bea weblogic server v9.2.1 from the
    servers view as instructed in the tutorial.
    the eclipse status bar in the bottom right hand corner of
    eclipse indicates that weblogic server 9.2 is starting.
    eclipse then switches focus from the servers view to the
    console view. the console view lists the typical weblogic
    server startup console entries:
    ...<Server state changed to STANDBY>
    ...<Server state changed to STARTING>
    ...<No test table set up for pool "cgDataSource". Connections will not be
    tested.>
    ...<No test table set up for pool "cgDataSource-nonXA". Connections will not be
    tested.>
    ...<No test table set up for pool "samplesDataSource". Connections will not be
    tested.>
    ...[see 13_05_07_eclipse_wls_startup.txt in [url https://bugs.eclipse.org/bugs/attachment.cgi?id=66989]comment #1 attachment of [url https://bugs.eclipse.org/bugs/show_bug.cgi?id=186716]eclipse bug #186716  for full
    console output]
    eventually - but only for a few seconds - the servers view indicates the state
    of the weblogic server as "Started". the following log entries snipped from
    weblogic server 9.2's filesystem logs confirm that the wls did actually start
    at some point:
    ...<Server state changed to RUNNING>
    ...<Server started in RUNNING mode>
    ...<78% of the total memory in the server is free>
    ...[see cgServer.log in  [url https://bugs.eclipse.org/bugs/attachment.cgi?id=66989]comment #1 attachment of [url https://bugs.eclipse.org/bugs/show_bug.cgi?id=186716]eclipse bug #186716  for full log output]
    then eclipse automatically switches focus to the console view again; displaying
    the following:
    $BEA_HOME/weblogic92/samples/domains/workshop/bin/stopWebLogic.sh: 
    Stopping Weblogic Server...
    Initializing WebLogic Scripting Tool (WLST) ...
    Welcome to WebLogic Server Administration Scripting Shell
    Type help() for help on available commands
    Connecting to t3://localhost:7001 with userid weblogic ...
    This Exception occured at Sun May 13 12:35:42 BST 2007.
    javax.naming.CommunicationException [Root exception is
    java.net.ConnectException: t3://localhost:7001: Destination unreachable; nested
    exception is:
            java.net.ConnectException: Connection refused; No available router to
    destination]
    ...[see 13_05_07_eclipse_wls_shutdown.txt in [url https://bugs.eclipse.org/bugs/attachment.cgi?id=66989]comment #1 attachment of [url https://bugs.eclipse.org/bugs/show_bug.cgi?id=186716]eclipse bug #186716  for full
    stack trace]
    the servers view eventually indicates the server has transitioned to the
    "Stopped" state. the problem is, i never commanded neither eclipse or wls to
    shutdown the wls server.
    since the wls server can be successfully started outside of eclipse from the
    shell, and since - once it is successfully started outside of eclipse - wls
    doesn't automatically shutdown as soon as it starts; i suspect there is
    something in eclipse|wtp that is triggering the automatic
    shutdown. but of course, i could be wrong. maybe something
    in wls itself is at fault.
    i encountered this exact same bug in wls 9.0 with eclipse 3.2.2/wtp 1.5.3 on
    solaris 9 sparc (which is what prompted me to upgrade to wls 9.2 on solaris 9
    sparc; see [url https://bugs.eclipse.org/bugs/show_bug.cgi?id=169197]eclipse bug #169197); and i encounter this exact same bug with wls 9.2 with
    eclipse 3.2.2/wtp 1.5.3 in mac os x 10.4.9! there is a
    slight difference in what happens in solaris vs what happens on the mac. on the mac, the exception appears to
    be thrown at a different point (when a wldeploy.xml script
    is executed; not at the point of "Initializing WebLogic
    Scripting Tool (WLST)" like in the solaris installation):
    Buildfile: /Applications/eclipse/plugins/org.eclipse.jst.server.generic.weblogic_1.5.1.v200609141504/buildfiles/wldeploy.xml
    init:
    deploy:
         [echo] Deploying module WTP_WebApp_Tutorial
    [wldeploy] weblogic.Deployer -debug -verbose -noexit -name WTP_WebApp_Tutorial -source /Users/bilbo/development/projects/eclipse_3.2.2_tutorial/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/WTP_WebApp_Tutorial -adminurl t3://localhost:7001 -user weblogic -password ******** -deploy
    [wldeploy] weblogic.Deployer invoked with options:  -debug -verbose -noexit -name WTP_WebApp_Tutorial -source /Users/bilbo/development/projects/eclipse_3.2.2_tutorial/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/WTP_WebApp_Tutorial -adminurl t3://localhost:7001 -user weblogic -deploy
    [wldeploy] [WebLogicDeploymentManagerImpl.<init>():103] : Constructing DeploymentManager for J2EE version V1_4 deployments
    [wldeploy] [WebLogicDeploymentManagerImpl.getNewConnection():146] : Connecting to admin server at localhost:7001, as user weblogic
    [wldeploy] [ServerConnectionImpl.getEnvironment():288] : setting environment
    [wldeploy] [ServerConnectionImpl.getEnvironment():291] : getting context using t3://localhost:7001
    [wldeploy] [ServerConnectionImpl.close():334] : Closing DM connection
    [wldeploy] [ServerConnectionImpl.close():354] : Unregistered all listeners
    [wldeploy] weblogic.deploy.api.tools.deployer.DeployerException: Unable to connect to 't3://localhost:7001': Destination unreachable; nested exception is:
    [wldeploy] java.net.ConnectException: Connection refused; No available router to destination. Ensure the url represents a running admin
    ... also, on the mac the cgServer.log has the following additional log entries:
    ...<Graceful shutdown of cgServer was issued remotely from 10.0.0.9>
    ...<Server shutdown has been requested by weblogic>
    ...<Server state changed to SUSPENDING>
    ... <Server state changed to ADMIN>
    ...<Server state changed to SHUTTING_DOWN>
    ...<Channel "Default[2]" listening on 127.0.0.1:7001 was shutdown.>
    ...in all cases, i have done nothing
    more and nothing less than what the eclipse/wtp and weblogic documentation has
    instructed me to do.
    please, can anybody suggest a fix or a workaround. thanks in advance.
    Edited by wboyd at 05/13/2007 7:48 AM

    thanks rob,
    please, can you clarify what bearing the global system properties mentioned in CR299479 at the bottom of [url http://e-docs.bea.com/workshop/docs92/relnotes/relnotes.html#wp1139954]this page of 9.2.1 release notes have on the timeout value discussed in [url https://bugs.eclipse.org/bugs/show_bug.cgi?id=186902]this eclipse wtp bug report?
    many thanks,
    wboyd

  • WLS 8.1 sp1 with Struts 1.1 JSP with bean tag won't compile

              Hello,
              We are currently porting our application which uses struts 1.1 to WLS 8.1 sp1
              from another app server. Everything seems to deploy correctly and pages which
              use struts tags appear to compile and run fine. However, the pages with struts
              <bean:define> tags are not compiling.
              Example JSP Code:
              <bean:define id="userForm" name="userForm" scope="session" toScope="page" type="UserFormBean"/>
              <% if (userForm.hasUserData()) {hasUser=true;} %>
              WLS Console Output:
              ..jsp_servlet\_jsp\_sailor\__home.java:493: cannot resolve symbol
              symbol : variable userForm
              location: class jsp_servlet._jsp._sailor.__home
              if (userForm.hasUserData()) { //[ /jsp/sailor/home.jsp; Line: 38]
              When I look at the JSP's parsed java code (__home.java:493) I find that nowhere
              in the class is the variable userForm declared.
              Is this a bug in WLS? Does anyone know of a workaround?
              Thanks,
              Scott
              

    Please contact customer support [email protected] and request a patch for
              CR112789. AT_END tags do not work correctly in 81sp1
              --Nagesh
              "Scott Fleming" <[email protected]> wrote in message
              news:3f734c0d$[email protected]..
              >
              > Hello,
              >
              > We are currently porting our application which uses struts 1.1 to WLS 8.1
              sp1
              > from another app server. Everything seems to deploy correctly and pages
              which
              > use struts tags appear to compile and run fine. However, the pages with
              struts
              > <bean:define> tags are not compiling.
              >
              > Example JSP Code:
              >
              > <bean:define id="userForm" name="userForm" scope="session" toScope="page"
              type="UserFormBean"/>
              >
              > <% if (userForm.hasUserData()) {hasUser=true;} %>
              >
              > WLS Console Output:
              >
              > ..jsp_servlet\_jsp\_sailor\__home.java:493: cannot resolve symbol
              > symbol : variable userForm
              > location: class jsp_servlet._jsp._sailor.__home
              > if (userForm.hasUserData()) { //[ /jsp/sailor/home.jsp; Line:
              38]
              >
              > When I look at the JSP's parsed java code (__home.java:493) I find that
              nowhere
              > in the class is the variable userForm declared.
              >
              > Is this a bug in WLS? Does anyone know of a workaround?
              >
              > Thanks,
              > Scott
              

  • WLS 8.1 issue with .ear deployment ....

    I think the weblogic8.1 seems to have some NEW bug now. We have a .ear file that
    works just PERFECT in WLS6.1. But now when we try to DEPLOY this .ear file our
    WLS8.1 server(via the new look and feel of WLS8.1' console)....we are getting
    the Exception like ...."pl read inline below":
    ...All i know is that WLS 8.1 has introduced something like : "single J2EEC -
    EAR compiler, replacing the separate compilers in previous releases" ........is
    it may be because of this ????
    If somebody has any idea ....please let me know asap ...and just above the EXCEPTION
    we are also getting something like ...."Deployment descriptor "/WEB-INF/ups-html.tld"
    is malformed" ....what is going wrong now ?
    Please note again ....this .ear file just work PERFECT in WLS6.1+sp2.
    Read inline for the Exception:
    <Jul 16, 2003 11:15:14 AM EDT> <Warning> <HTTP> <BEA-101248> <[ServletContext(id=4316640,name=ABL,context-path=/ABL)]:
    Deployment descriptor "/WEB-INF/ups-html.tld" is malformed. Check against the
    DTD: Element type "info" must be declared. (line 334, column 9).>
    <Jul 16, 2003 11:15:14 AM EDT> <Warning> <HTTP> <BEA-101248> <[ServletContext(id=4316640,name=ABL,context-path=/ABL)]:
    Deployment descriptor "/WEB-INF/ups-html.tld" is malformed. Check against the
    DTD: The content of element type "tag" must match "(name,tag-class,tei-class?,body-content?,display-name?,small-icon?,large-icon?,description?,variable*,attribute*,example?)".
    (line 335, column 8).>
    MessageResourcesFactory.createFactory
    java.lang.NoClassDefFoundError: org/apache/struts/util/MessageResourcesFactory
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:431)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:169)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:41)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at org.apache.struts.util.MessageResourcesFactory.createFactory(MessageResourcesFactory.java:161)
    at org.apache.struts.action.ActionServlet.initApplication(ActionServlet.java:1029)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1070)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:893)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:842)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:782)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3191)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3136)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3109)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5559)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:853)
    at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2012)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2053)
    at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2558)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2483)
    at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2308)
    at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:639)
    at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    <Jul 16, 2003 11:15:14 AM EDT> <Error> <HTTP> <BEA-101046> <[ServletContext(id=4316640,name=ABL,context-path=/ABL)]
    service: Cannot load application resources bundle com.ups.dfd.abl.prop.Constants
    java.lang.NullPointerException
    at org.apache.struts.action.ActionServlet.initApplication(ActionServlet.java:1031)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1070)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:893)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:842)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:782)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3191)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3136)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3109)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5559)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:853)
    at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2012)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2053)
    at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2558)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2483)
    at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2308)
    at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:639)
    at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    >
    <Jul 16, 2003 11:15:14 AM EDT> <Error> <HTTP> <BEA-101216> <Servlet: "service"
    failed to preload on startup in Web application: "ABL".
    javax.servlet.UnavailableException: Cannot load application resources bundle com.ups.dfd.abl.prop.Constants
    at org.apache.struts.action.ActionServlet.initApplication(ActionServlet.java:1043)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1070)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:893)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:842)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:782)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3191)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3136)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3109)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5559)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:853)
    at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2012)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2053)
    at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2558)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2483)
    at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2308)
    at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:639)
    at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
    thx, sangita

    Rob,
    These are the 3 files that you need:
    1) wlstart_cap (this is the start up script that we use to start the Managed server
    while on WLS6.1) ....please read inline:
    -----------Inline 1-----------------
    #!/bin/ksh
    # BEA WebLogic Start Script - Version 1.1
    # Add support for STARTMODE MKG 03/08/2002
    # Set user specified variables
    JAVA_HOME=/usr/j2sdk1_3_1_01
    JAVA_OPTIONS="-D$1 -ms128m -mx128m -noclassgc"
    BEA_HOME=/opt/bea
    WL_HOME=$BEA_HOME/wlserver6.1
    WL_SCRIPT=$WL_HOME/config/Subsidiary
    export WL_SCRIPT
    EXPORT_LIB=$WL_HOME/lib
    #### Set locale to US English MKG 2003/01/16
    LC_MESSAGES=C
    LC_TIME=en_US.ISO8859-1
    LC_NUMERIC=en_US.ISO8859-1
    LC_MONETARY=en_US.ISO8859-1
    LC_COLLATE=en_US.ISO8859-1
    LC_CTYPE=en_US.ISO8859-1
    export LC_MESSAGES LC_TIME LC_NUMERIC LC_MONETARY LC_COLLATE LC_CTYPE
    #### End locale settings
    #### UPSCAP-clientmanger App settings --- Begin
    # workaround for strange bug in code that requires an x-server
    # to be present when graph code is initialized.
    # Note that this is my sun workstation. MKG 05/16/2002
    DISPLAY=bluewolf.telecom.ups.com:0.0
    export DISPLAY
    #### UPSCAP-clientmanger App settings --- End
    #### EUP App settings --- Begin
    VANAPI_HOME=/opt/vanapi
    VANPATH=$VANPATH:$VANAPI_HOME/vanapi/share
    LD_LIBRARY_PATH=$VANAPI_HOME/vanapi:$VANAPI_HOME/vanapi/vanjavi:$LD_LIBRARY_PATH
    PATH=$VANAPI_HOME/perl_dir/bin:$PATH
    EUP_CLASSPATH=$WL_HOME/config/Subsidiary/serverclasses
    export VANPATH LD_LIBRARY_PATH VANAPI_HOME PATH EUP_CLASSPATH
    #### EUP App settings --- End
    CLASSPATH=$WL_HOME/lib/CR061106_61sp2.jar:$WL_HOME/lib/CR072612_61sp2.jar:$WL_HOME/lib/CR071109_610sp2.jar:$WL_
    HOME/lib/CR058352_61sp2.jar:$WL_HOME/lib/weblogic.jar:$BEA_HOME:$EUP_CLASSPATH
    if [ -n "$LD_LIBRARY_PATH" ]; then
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WL_HOME/lib/solaris:
    else
    LD_LIBRARY_PATH=$WL_HOME/lib/solaris:
    fi
    export LD_LIBRARY_PATH
    ADMIN_URL=$(cat $WL_SCRIPT/config.weblogic|grep AdminServerURL|awk '{print  $2}')
    ADMIN_SERVER_NAME=$(cat $WL_SCRIPT/config.weblogic|grep AdminServerName|awk '{print
    $2}')
    DOMAIN_NAME=$(cat $WL_SCRIPT/config.weblogic|grep Domain|awk '{print  $2}')
    PATH=$WL_HOME/bin:$JAVA_HOME/bin:$PATH
    export PATH
    WLS_PW=$(cat $WL_SCRIPT/bea.check | awk '{print $1}')
    export $WLS_PW
    #################################export LOG_HOME=/export/bea/netsite/ext-admin/logs/bea
    export LOG_HOME=/export/bea/logs
    # echo all of the variable settings
    #echo
    #echo "BEA_HOME=$BEA_HOME"
    #echo "WL_HOME=$WL_HOME"
    echo "EXPORT_HOME=$EXPORT_HOME"
    echo "CLASSPATH=$CLASSPATH"
    #echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
    #echo "PATH=$PATH"
    #echo "JAVA_OPTIONS=$JAVA_OPTIONS"
    #echo "DOMAIN_NAME=$DOMAIN_NAME"
    #echo "ADMIN_URL=$ADMIN_URL"
    #echo "ADMIN_SERVER_NAME=$ADMIN_SERVER_NAME"
    #java -fullversion
    #echo
    #echo
    # Grab some file descriptors.
    maxfiles='ulimit -H -n'
    if [ ! $? -a "$maxfiles" != 1024 ]; then
    if [ "$maxfiles" = "unlimited" ]; then
    maxfiles=1025
    fi
    if [ "$maxfiles" -lt 1024 ]; then
    ulimit -n $maxfiles
    else
    ulimit -n 1024
    fi
    fi
    # Set Production Mode. When set to true, the server starts up
    # in production mode. When set to false, the server starts up
    # in development mode. The default is false.
    STARTMODE=true
    if [[ -n $1 ]]; then
    if [[ $1 = "admin" ]]; then
    echo "Starting admin server...."
    ###### echo "See /export/netsite/ext-admin/logs/bea/admin.start for more info"
    # Change to the WebLogic directory
    cd $WL_HOME
    echo nohup java $JAVA_OPTIONS -classpath $CLASSPATH -Dweblogic.Domain=$DOMAIN_NAME
    -Dweblogic.Name=$ADM
    IN_SERVER_NAME -Dbea.home=$BEA_HOME -Djava.security.policy==$WL_HOME/lib/weblogic.policy
    -Dweblogic.Production
    ModeEnabled=$STARTMODE -Dweblogic.management.password=$WLS_PW -Dweblogic.management.discover=true
    -Dweblogic.ma
    nagement.discover.retries=6 -Dweblogic.management.discover.interval=90 weblogic.Server
    nohup java $JAVA_OPTIONS -classpath $CLASSPATH -Dweblogic.Domain=$DOMAIN_NAME
    -Dweblogic.Name=$ADMIN_SE
    RVER_NAME -Dbea.home=$BEA_HOME -Djava.security.policy==$WL_HOME/lib/weblogic.policy
    -Dweblogic.ProductionModeE
    nabled=$STARTMODE -Dweblogic.management.password=$WLS_PW -Dweblogic.management.discover=true
    -Dweblogic.managem
    ent.discover.retries=6 -Dweblogic.management.discover.interval=90 weblogic.Server
    $LOG_HOME/admin.start 2>&1&
    echo
    shift
    # Change back to the domain directory
    cd config/$DOMAIN_NAME
    echo $! > admin.pid
    else
    while [[ $# -gt 0 ]];do
    SERVER_NAME=$(cat $WL_SCRIPT/config.weblogic|grep $1|awk '{print $2}')
    if [[ $SERVER_NAME = "" ]]; then
    echo "ERROR: unable to locate an entry for "$1" in config file"
    shift
    else
    echo "Starting server: "$SERVER_NAME
    ######### echo "See /export/netsite/ext-admin/logs/bea/$SERVER_NAME.start
    for more info"
    # Change to the WebLogic directory
    cd $WL_HOME
    echo nohup java $JAVA_OPTIONS -classpath $CLASSPATH -Dweblogic.Domain=$DOMAIN_NAME
    -Dweblogic.Nam
    e=$SERVER_NAME -Dweblogic.management.server=$ADMIN_URL -Djava.security.policy==$WL_HOME/lib/weblogic.policy
    -Dw
    eblogic.ProductionModeEnabled=$STARTMODE -Dweblogic.management.password=$WLS_PW
    weblogic.Server
    nohup java $JAVA_OPTIONS -classpath $CLASSPATH -Dweblogic.Domain=$DOMAIN_NAME
    -Dweblogic.Name=$SE
    RVER_NAME -Dweblogic.management.server=$ADMIN_URL -Djava.security.policy==$WL_HOME/lib/weblogic.policy
    -Dweblog
    ic.ProductionModeEnabled=$STARTMODE -Dweblogic.management.password=$WLS_PW weblogic.Server
    $LOG_HOME/$SERVER_NAME.start 2>&1 &
    shift
    # Change back to the domain directory
    cd config/$DOMAIN_NAME
    echo $! > $SERVER_NAME".pid"
    fi
    done
    fi
    else
    echo ""
    echo ""
    echo "FATAL ERROR: You must specify the server to start. Either 'admin' or
    the server token"
    echo ""
    fi
    -----------Inline 1 ends-----------------
    2) startManagedWebLogic.sh(this is the Managed server start up script at wls8.1)
    ---------Inline 2 starts---------
    #!/bin/sh
    # This script is used to start a managed WebLogic Server for the domain in the
    # current working directory. This script reads in the SERVER_NAME and
    # ADMIN_URL as positional parameters, sets the SERVER_NAME variable, then
    # starts the server.
    # Other variables that startWLS takes are:
    # WLS_USER - cleartext user for server startup
    # WLS_PW - cleartext password for server startup
    # PRODUCTION_MODE - Set to true for production mode servers, false for
    # development mode
    # JAVA_OPTIONS - Java command-line options for running the server. (These
    # will be tagged on to the end of the JAVA_VM and MEM_ARGS)
    # JAVA_VM - The java arg specifying the VM to run. (i.e. -server,
    # -hotspot, etc.)
    # MEM_ARGS - The variable to override the standard memory arguments
    # passed to java
    # For additional information, refer to the WebLogic Server Administration Guide
    # (http://e-docs.bea.com/wls/docs81/ConsoleHelp/startstop.html).
    #Set the New Java Path
    PATH=/opt/bea/jdk141_02/bin:$PATH
    # set up WL_HOME, the root directory of your WebLogic installation
    WL_HOME="/opt/bea/weblogic81"
    # set up common environment
    # Set Production Mode. When this is set to true, the server starts up in
    # production mode. When set to false, the server starts up in development
    # mode. If it is not set, it will default to false.
    PRODUCTION_MODE="true"
    # Set JAVA_VENDOR to java virtual machine you want to run on server side.
    JAVA_VENDOR="Sun"
    # Set JAVA_HOME to java virtual machine you want to run on server side.
    JAVA_HOME="/opt/bea/jdk141_02"
    set USE_CURRENT_JAVA_HOME "$@"
    . "${WL_HOME}/common/bin/commEnv.sh"
    shift 1
    # Set SERVER_NAME to the name of the server you wish to start up.
    ADMIN_URL=http://153.2.255.51:8001
    SERVER_NAME=
    # Set WLS_USER equal to your system username and WLS_PW equal
    # to your system password for no username and password prompt
    # during server startup. Both are required to bypass the startup
    # prompt.
    WLS_USER=
    WLS_PW=
    # Set JAVA_VM to java virtual machine you want to run on server side.
    # JAVA_VM="-server"
    # Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
    # are more than one, include quotes around them. For instance:
    # JAVA_OPTIONS="-Dweblogic.attribute=value -Djava.attribute=value"
    usage()
    echo "Need to set SERVER_NAME and ADMIN_URL environment variables or specify"
    echo "them in command line:"
    echo 'Usage: ./startManagedWebLogic.sh [SERVER_NAME] [ADMIN_URL]'
    echo "for example:"
    echo './startManagedWebLogic.sh managedserver1 http://localhost:7001'
    exit 1
    # Check for variables SERVER_NAME and ADMIN_URL
    # SERVER_NAME and ADMIN_URL must by specified before starting a managed server,
    # detailed information can be found at http://e-docs.bea.com/wls/docs81/adminguide/startstop.html.
    if [ ${#} = 0 ]; then
    if [ "x${SERVER_NAME}" = "x" -o "x${ADMIN_URL}" = "x" ]; then
    usage
    fi
    elif [ ${#} = 1 ]; then
    SERVER_NAME=${1}
    if [ "x${ADMIN_URL}" = "x" ]; then
    usage
    fi
    elif [ ${#} = 2 ]; then
    SERVER_NAME=${1}
    ADMIN_URL=${2}
    else
    usage
    fi
    # Start WebLogic server
    # Reset number of open file descriptors in the current process
    # This function is defined in commEnv.sh
    resetFd
    CLASSPATH="${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POINTBASE_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/jre/lib/rt.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar${CLASSPATHSEP}${CLASSPATH}"
    export CLASSPATH
    # Start WebLogic server
    echo CLASSPATH="${CLASSPATH}"
    echo
    echo PATH="${PATH}"
    echo
    echo "***************************************************"
    echo "* To start WebLogic Server, use a username and *"
    echo "* password assigned to an admin-level user. For *"
    echo "* server administration, use the WebLogic Server *"
    echo "* console at http://<hostname>:<port>/console *"
    echo "***************************************************"
    "$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} \
    -Dweblogic.Name=${SERVER_NAME} \
    -Dweblogic.management.username=${WLS_USER} \
    -Dweblogic.management.password=${WLS_PW} \
    -Dweblogic.management.server=${ADMIN_URL} \
    -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" \
    weblogic.Server
    -------Inline 2 ends----------
    3) startWebLogic.sh(this is the Admin start up script at wls8.1)
    ---------Inline 3 starts-------
    #!/bin/sh
    # This script is used to start WebLogic Server for the domain in the current
    # working directory. This script simply sets the SERVER_NAME variable
    # and calls the startWLS.sh script under ${WL_HOME}/server/bin.
    # To create your own start script for your domain, all you need to set is
    # SERVER_NAME, then starts server.
    # Other variables that startWLS takes are:
    # WLS_USER - cleartext user for server startup
    # WLS_PW - cleartext password for server startup
    # PRODUCTION_MODE - Set to true for production mode servers, false for
    # development mode
    # JAVA_OPTIONS - Java command-line options for running the server. (These
    # will be tagged on to the end of the JAVA_VM and MEM_ARGS)
    # JAVA_VM - The java arg specifying the VM to run. (i.e. -server,
    # -hotspot, etc.)
    # MEM_ARGS - The variable to override the standard memory arguments
    # passed to java
    # For additional information, refer to the WebLogic Server Administration
    # Console Online Help(http://e-docs.bea.com/wls/docs81/ConsoleHelp/startstop.html)
    #Set the New Java Path
    PATH=/opt/bea/jdk141_02/bin:$PATH
    # set up WL_HOME, the root directory of your WebLogic installation
    WL_HOME="/opt/bea/weblogic81"
    # set up common environment
    # Set Production Mode. When this is set to true, the server starts up in
    # production mode. When set to false, the server starts up in development
    # mode. If it is not set, it will default to false.
    PRODUCTION_MODE="true"
    # Set JAVA_VENDOR to java virtual machine you want to run on server side.
    JAVA_VENDOR="Sun"
    # Set JAVA_HOME to java virtual machine you want to run on server side.
    JAVA_HOME="/opt/bea/jdk141_02"
    set USE_CURRENT_JAVA_HOME "$@"
    . "${WL_HOME}/common/bin/commEnv.sh"
    shift 1
    # Set SERVER_NAME to the name of the server you wish to start up.
    SERVER_NAME=Admin
    # Set WLS_USER equal to your system username and WLS_PW equal
    # to your system password for no username and password prompt
    # during server startup. Both are required to bypass the startup
    # prompt.
    WLS_USER=
    WLS_PW=
    # Set JAVA_VM to java virtual machine you want to run on server side.
    # JAVA_VM="-server"
    # Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
    # are more than one, include quotes around them. For instance:
    # JAVA_OPTIONS="-Dweblogic.attribute=value -Djava.attribute=value"
    # Reset number of open file descriptors in the current process
    # This function is defined in commEnv.sh
    resetFd
    # Start WebLogic server
    CLASSPATH="${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POINTBASE_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/jre/lib/rt.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar${CLASSPATHSEP}${CLASSPATH}"
    export CLASSPATH
    "$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME}
    -Dweblogic.management.username=${WLS_USER} -Dweblogic.management.password=${WLS_PW}
    -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy"
    weblogic.Server
    --------Inline 3 ends---------
    I think we are getting closer to a solution !
    thanks rob,
    Rob Woollen <[email protected]> wrote:
    Yes, your $CLASSPATH could be the issue. Can you show me the $CLASSPATH
    used in each version of the server?
    -- Rob
    sangita wrote:
    Thanks Rob, I understood changing the DOCTYPE ...and i will give ita try.
    And iam assuming you might have read my previous response in this chain,Iam using
    WLS6.1 & WLS8.1 BOTH on the same hardware unix server....iam just wonderingif
    there is any CLASSPATH issue that might have been causing this NoClassDefFoundError......?
    just wanted to let you know that iam running WLS6.1 + WLS8.1 on thesame BOX.
    I will try other options that you have suggested ....thanks again !
    Rob Woollen <[email protected]> wrote:
    sangita wrote:
    Rob,
    Right, you're referencing the Taglib 1.2 DTD, but your tld file conforms
    to the Taglib 1.1 DTD. You'll either need to change the DOCTYPE
    definition to the Taglib 1.1 DTD or change the tld file to conformto
    the 1.2 DTD. how do i do either of the 2 options ?To change your taglib to be the 1.1 DTD you just need to change the
    DOCTYPE header to be
    <!DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    Otherwise, you'll need to change the tld file to be JSP 1.2 compliant.
    If you post your tld file here, then I can help.
    Iam just guessing here, is it may be due to this DTD/.tld issue thatiam not been
    able to DEPLOY the .ear file(now that wls8.1 checks the validity beforedeloying
    the app)....are the 2 errors that iam getting, in any ways inter-related?
    I'm not sure they're related. It is possible.
    i.e is it possible that due to DTD/.tld ....am i getting this NoClassDefFoundError
    JUST CURIOUS ???
    WELL THANKS FOR YOUR TIME ON THIS ...REALLY APPRECIATE IT !
    No problem.
    -- Rob
    Regards, sangita
    Rob Woollen <[email protected]> wrote:
    sangita wrote:
    1) This is how my .tld looks like:
    <?xml version="1.0" encoding="UTF-8" ?>^M
    <!DOCTYPE taglib^M
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"^M
    "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">^M
    Right, you're referencing the Taglib 1.2 DTD, but your tld file conforms
    to the Taglib 1.1 DTD. You'll either need to change the DOCTYPE
    definition to the Taglib 1.1 DTD or change the tld file to conformto
    the 1.2 DTD. Unfortunately WLS 6.1 didn't validate the tld file
    against
    the DTD, but it should have, and you'll need to correct your application.
    <taglib>^M
    <tlib-version>1.0</tlib-version>^M
    <jsp-version>1.2</jsp-version>^M
    <short-name>html</short-name>^M
    2) the MANIFEST.MF file is located within the ABL.war.
    3) I will try placing the struts-util.jar in the WEB-INF/lib directoryof the
    ABL.war file. And I will let you if it works or not ?Right. My guess is this is a bug in WLS 8.1. I can see no reasonwhy
    the manifest class-path isn't working for you. That's why I askedif
    you could send the EAR file so I could investigate, but I understand
    that's not always possible.
    I suspect the WEB-INF/lib will work, but it's just a workaround.
    I'm
    not sure if you're using 8.1 or 8.1SP1, but if you're not using SP1,
    then you might consider trying that. (java weblogic.version willtell
    you.)
    Otherwise, I think you should open a case with [email protected]
    -- Rob
    thx, sangita
    Rob Woollen <[email protected]> wrote:
    sangita wrote:
    Rob, here is the information that you need: Please read inline:
    ---------------------------iam doing cut&paste
    <attribute>^M
    <name>styleClass</name>^M
    <required>false</required>^M
    </attribute>^M
    (this is the 334 line)<info>applys the style of
    the
    number text
    if it passes the conditional given</info>^M
    </tag>^M
    </taglib>^MWell, it looks like you have a JSP 1.1 tld, but it's being validated
    against the JSP 1.2 tld. I suspect that you have not declareda
    DOCTYPE
    and 6.1 defaulted to the older JSP spec.
    Anyway, check the first line of your tld file. It should look
    something
    like this:
    <!DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
         "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    I have an ABL.ear file and this is what it looks like:
    ABL.ear
    META-INF/
    META-INF/MANIFEST.MF
    ABL.jar
    ABL.war
    lib/
    lib/struts-util.jar
    META-INF/application.xml
    and in the ABL.war ...there is a META-INF/MANIFEST.MF file ...and
    when
    i open
    this file ...this is what it contains:Just to double-check, the MANIFEST.MF file is located within the
    ABL.war, right?
    Manifest-Version: 1.0
    Created-By: Ant 1.4.1
    Class-Path: lib/struts-util.jar
    there is nothing in the CLASSPATH that contains this application'sspecific .jar/.war
    ...or any classes specific to this application ........BOTH IN
    WLS6.1(and
    now
    in WLS8.1)Hmm, I'm not sure yet what the problem is here. Does it work ifyou
    place the struts-util.jar in the WEB-INF/lib directory of the ABL.war
    file? (I suspect it will.)
    This might be a WLS bug. If you can post your ear file here (oremail
    it to me rwoollen at bea dot com), then I can dig into it more.
    -- Rob
    thx, sangita
    Rob Woollen <[email protected]> wrote:
    It looks like there are 2 errors.
    The first error /WEB-INF/ups-html.tld is most likely the result
    of
    WLS
    8.1 doing more validation on your tld file. If you'd show us
    either
    the
    entire ups-html.tld or just the part around line 334, then wecan
    help.
    As for the NoClassDefFoundError, you'll have to provide some
    more
    details about your ear file and environment. Do you have anythingin
    the $CLASSPATH on either the 6.1 or 8.1 environments?
    -- Rob
    Sangita wrote:
    I think the weblogic8.1 seems to have some NEW bug now. We have
    a
    .ear
    file that
    works just PERFECT in WLS6.1. But now when we try to DEPLOY
    this
    .ear
    file our
    WLS8.1 server(via the new look and feel of WLS8.1' console)....we
    are
    getting
    the Exception like ...."pl read inline below":
    ...All i know is that WLS 8.1 has introduced something like
    "single
    J2EEC -
    EAR compiler, replacing the separate compilers in previous releases"........is
    it may be because of this ????
    If somebody has any idea ....please let me know asap ...and
    just
    above
    the EXCEPTION
    we are also getting something like ...."Deployment descriptor
    "/WEB-INF/ups-html.tld"
    is malformed" ....what is going wrong now ?
    Please note again ....this .ear file just work PERFECT in WLS6.1+sp2.
    Read inline for the Exception:
    <Jul 16, 2003 11:15:14 AM EDT> <Warning> <HTTP> <BEA-101248>
    <[ServletContext(id=4316640,name=ABL,context-path=/ABL)]:
    Deployment descriptor "/WEB-INF/ups-html.tld" is malformed.Check
    against
    the
    DTD: Element type "info" must be declared. (line 334, column
    9).>
    <Jul 16, 2003 11:15:14 AM EDT> <Warning> <HTTP> <BEA-101248><[ServletContext(id=4316640,name=ABL,context-path=/ABL)]:
    Deployment descriptor "/WEB-INF/ups-html.tld" is malformed.Check
    against
    the
    DTD: The content of element type "tag" must match "(name,tag-class,tei-class?,body-content?,display-name?,small-icon?,large-icon?,description?,variable*,attribute*,example?)".
    (line 335, column 8).>
    MessageResourcesFactory.createFactory
    java.lang.NoClassDefFoundError: org/apache/struts/util/MessageResourcesFactory
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:431)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:169)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:41)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at org.apache.struts.util.MessageResourcesFactory.createFactory(MessageResourcesFactory.java:161)
    at org.apache.struts.action.ActionServlet.initApplication(ActionServlet.java:1029)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1070)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:893)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:842)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:782)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3191)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3136)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3109)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5559)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:853)
    at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2012)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2053)
    at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2558)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2483)
    at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2308)
    at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:639)
    at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    <Jul 16, 2003 11:15:14 AM EDT> <Error> <HTTP> <BEA-101046> <[ServletContext(id=4316640,name=ABL,context-path=/ABL)]
    service: Cannot load application resources bundle com.ups.dfd.abl.prop.Constants
    java.lang.NullPointerException
    at org.apache.struts.action.ActionServlet.initApplication(ActionServlet.java:1031)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1070)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:893)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:842)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:782)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3191)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3136)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3109)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.

  • Error in body tag handling in WLS 7.0

              Hi,
              I've tried to port an Web Application to WLS 7.0. This app was originally developed
              under 5.1, and was later on ported to WLS 6.1. In all WLS versions the behaviour
              of our custom tags seems to be equal. But on WLS 7.0 I've found out, that tags, implemented
              as body tags (in my special case the bodycontent was declared as "tagdependent")
              are completely ignored when no body is given. For example if the tag is used in an
              JSP like
              <prefix:mytag>
              </prefix:mytag>
              the tag works. If the tag is used like
              <prefix:mytag/>
              It is completely ignored. The resulting HTML page still contains <prefix:mytag/>.
              Because the behaviour was different in releases pre 7.0 i assume this is a new bug
              in WLS 7.0.
              Regards,
              Christian
              

              I've found out, that BodyTags which are declared as "tagdependent" in the tld file
              are completely ignored if no body is given. You can see this if you take a look at
              the generated servlet class.
              BodyTags which are declared as "JSP" do work with empty body.
              Regards,
              Christian
              "Christian Lauer" <[email protected]> wrote:
              >
              >Hi,
              >
              >I've tried to port an Web Application to WLS 7.0. This app was originally
              >developed
              >under 5.1, and was later on ported to WLS 6.1. In all WLS versions the behaviour
              >of our custom tags seems to be equal. But on WLS 7.0 I've found out, that
              >tags, implemented
              >as body tags (in my special case the bodycontent was declared as "tagdependent")
              >are completely ignored when no body is given. For example if the tag is
              >used in an
              >JSP like
              >
              > <prefix:mytag>
              > ...
              > </prefix:mytag>
              >
              >the tag works. If the tag is used like
              >
              > <prefix:mytag/>
              >
              >It is completely ignored. The resulting HTML page still contains <prefix:mytag/>.
              >
              >Because the behaviour was different in releases pre 7.0 i assume this is
              >a new bug
              >in WLS 7.0.
              >
              >Regards,
              >Christian
              

  • BasicRealm getUser() bug in WL5.1?

    Hi,
    I am facing a weird problem with authentication using a custom realm in WLS5.1.
    I have written a custom security realm which implements the BasicRealm and ListableRealm
    interfaces (the realm it does not extend Weblogic's AbstractListableRealm).
    I have my own implementation of the User object within my realm package (call
    it MyUser),
    which extends weblogic's User object and provides the following behavior: MyUser
    instances
    contain a ticket if they have been successfully authenticated. This ticket is
    available
    through MyUser.getCredential() method.
    Now, to the problem: Weblogic stores the wrong User object in the thread after
    authentication.
    The realm authentication sequence goes as follows:
    1. WLS calls the BasicRealm.getUser(String userName) method on my realm.
    2. The realm returns a MyUser object with a null ticket (since the user hasn't
    been
    authenticated). Let's call this user object myuser1.
    3. WLS then calls the BasicRealm.getUser(UserInfo userInfo) method on my realm.
    4. The realm authenticates the credentials and returns another MyUser object,
    this one
    with a valid ticket. Call this myuser2.
    The problem is, WLS seems to discard myuser2, and store myuser1 in the thread-specific
    authentication context. So, when an EJB method executing within that thread calls
    Security.getCurrentUser(), it gets back myuser1. Since myuser1.getCredential()
    returns null,
    the EJB is not able to fetch the authentication ticket.
    Is this a bug in WLS? If so, is there a patch available? Failing that, is there
    any way to
    make WLS store the second user object?
    Thanks
    Ravi

    Hi,
    I think your problem is that your first returned user object ( MyUser ) is stored
    in a caching realm, and it is this user that is returned when using Security.getCurrentUser().
    Instead of creating av new user object when authenticating ( authUserPassword
    ), just modify the user object already stored in the cache realm.
    The code for getting the user object from the cache could look something like
    this:
    User user = null;
    BasicRealm basicRealm = Security.getRealm();
    if (basicRealm != null && basicRealm instanceof CachingRealm)
    CachingRealm cachingRealm = (CachingRealm)basicRealm;
    if (cachingRealm != null)
    user = cachingRealm.getUser(name);
    user.setTicket(ticket);
    Now you can set your ticket attribute on this object and return it as the user
    object.
    Security.getCurrentUser() should now return a user object with a valid ticket.
    Yngve.
    "Ravi Shankar" <[email protected]> wrote:
    >
    Hi,
    I am facing a weird problem with authentication using a custom realm
    in WLS5.1.
    I have written a custom security realm which implements the BasicRealm
    and ListableRealm
    interfaces (the realm it does not extend Weblogic's AbstractListableRealm).
    I have my own implementation of the User object within my realm package
    (call
    it MyUser),
    which extends weblogic's User object and provides the following behavior:
    MyUser
    instances
    contain a ticket if they have been successfully authenticated. This ticket
    is
    available
    through MyUser.getCredential() method.
    Now, to the problem: Weblogic stores the wrong User object in the thread
    after
    authentication.
    The realm authentication sequence goes as follows:
    1. WLS calls the BasicRealm.getUser(String userName) method on my realm.
    2. The realm returns a MyUser object with a null ticket (since the user
    hasn't
    been
    authenticated). Let's call this user object myuser1.
    3. WLS then calls the BasicRealm.getUser(UserInfo userInfo) method on
    my realm.
    4. The realm authenticates the credentials and returns another MyUser
    object,
    this one
    with a valid ticket. Call this myuser2.
    The problem is, WLS seems to discard myuser2, and store myuser1 in the
    thread-specific
    authentication context. So, when an EJB method executing within that
    thread calls
    Security.getCurrentUser(), it gets back myuser1. Since myuser1.getCredential()
    returns null,
    the EJB is not able to fetch the authentication ticket.
    Is this a bug in WLS? If so, is there a patch available? Failing that,
    is there
    any way to
    make WLS store the second user object?
    Thanks
    Ravi

  • WLS 8.1 an the XAResource interface

    Hi I wonder if someone could advise me
              I've created a remote JMS client which is using a third party transaction manager to manage an XA global transaction consisting of many JMS Queue from various WLS servers.
              My problem comes when I try to gain an XAResource from the underlying JMS Queues (needed to enlist them in the overall transaction).
              I take an javax XAQueueSession object which points to a JMS Queue on a WLS 8.1 server and try to invoke the .getXAResource() method to produce the javax XAResource. The problem is it keeps returning me a null pointer.
              the creation of the XAQueueSession is built up in this manner
              1.) Look up connectionFactory from context, cast to an XAQueueConnnectionFactory
              2.) XAQueueConnnectionFactory produces an XAQueueConnection
              3.) XAQueueConnection creates an XAQueueSession
              4.) XAQueueConnection is then started
              5.) XAQueueSession is used to gain an XAResource which produces a null pointer
              Question
              -=-=-=-=-=-=
              1) Does WLS 8.1 support the Javax XAResource interface? if it does is it possible to get an XAResource object from the XAQueueSession?
              Any comments on these quesions would be useful
              Kind Regards
              Barry

    Since WLS JMS is clustered, it's a little more complex, because once you start two-phase commit transactions, you need to always go back to the same server in the cluster to resolve them.
              The best-documented way to do this is to use the weblogic.transaction package, which is part of the Javadocs found here:
              http://e-docs.bea.com/wls/docs81/javadocs/index.html
              You need to call the following method from the weblogic.transaction package:
              TxHelper.getClientInterposedTransactionManager()
              This takes a JNDI InitialContext, and also a server name. Once you "prepare" a transaction, you'll have to go back to that server to commit it or roll it back.
              The InterposedTransactionManager object that's returned represents the JTA transaction manager on the server that you named. You can call "getXAResource" on it to get the XAResource that you'll need.
              You will also want to route your JMS calls from your client through the server that you got the transaction manager for. If you don't have a cluster, this is pretty simple. If you have a cluster, then you should create a JMS ConnectionFactory that's targeted to a single server, so that your client calls and your XA calls go to the same node in the cluster.
              The folks on the JTA newsgroup, or BEA Support, should be able to help you with the details if things don't work out, but those are the basics.

Maybe you are looking for

  • HP Photosmart C4580 All-In-One Mac OSX 10.5

    My printer no longer works as a printer, it will copy and scan but will not print. I rebooted several times both printer and computer, no change. Then I deleted the printer and added it back, and no success, the printer is gone. I used the CD to rein

  • Home Hub 3. Constant connectivity loss. Event log ...

    Trying to get any kind of service out of my BT Infinity provision nowadays is like trying to arrange a tsunami in a desert. Time after time after time after time, the Internet is working normally but then a page refuses to refresh and attempts to ope

  • Error message - please help! "This copy of iTunes will expire in 113 hours"

    Hello, I opened up iTunes today and received this popup which said "This copy of iTunes will expire in 113 hours". I have never seen anything like this and have no idea why. I only ever use iTunes on my one laptop. I use Leopard and have iTunes versi

  • Acrobat X Pro Mac 10.1.4 crash endlessly

    This went to wrong Forum before Sorry but this is very annoying. Where can I get support for this? I have sent in numerous crash logs, re-installed repeatedly, tried to use Time Machine all to no avail. Which aprt of Adobe Support deals with this ple

  • Opening PPT/PPS files

    Hi! I'm looking for a solution to open PPT/PPS files. I *don't* want to use LibreOffice (and even less MS Office with wine). I've been googling for some app that converts PPS -> PDF, since I don't mind creating a short script to let me see and PP{S,T