Location of bean classes

Hello,
I developed a web app in NetBeans and deployed it to my web site. I modified the site default page to forward all incoming visitors to the new application, like this:
<jsp:forward page="/webappName/index.jsp" ></jsp:forward>
That works, except for this caveat. Forwarded requests do not find the application JavaBean classes (which are located in /webappName/WEB-INF/classes). However, direct access to the application (http://www.mydomain.com/webappName) works -- the classes are found.
I "solved" the problem by copying the classes into the upper level WEB-INF directory, at the site root. This seems inelegant. Is there a way for me to specify to the forwarding request where the classes are located?
I can put in a servlet, if necessary.
Thanks.
mp

How is your directory structure organized?
It sounds like you have:
<Web Server>/Root/
<Web Server>/Root/WEB-INF/
<Web Server>/Root/webAppName/
<Web Server>/Root/webAppName/WEB-INF/
This shouldn't be the case. Applications should be in different context paths:
<Web Server>/Root/
<Web Server>/Root/WEB-INF/
<Web Server>/webAppName/
<Web Server>/webAppName/WEB-INF/
The Problem you will get to though is that an application CAN'T forward to a different application. According to the Syntax definitions for JSP 2.0 ( http://java.sun.com/products/jsp/syntax/2.0/syntaxref20.html )
The jsp:forward element forwards the request object containing the client request information from one JSP page to another resource. The target resource can be an HTML file, another JSP page, or a servlet, as long as it is in the same application context as the forwarding JSP page.
When you make the request directly, the server sees that you are making a request to the webAppName web application and uses its path as the context path, so the WEB-INF path under /webAppName/ is used. When you make a request to the ROOT context the ROOT WEB-INF is used and you are only forwarding, within the ROOT context, so a sub-context.
Instead of using jsp:forward, you should send a redirect command to the correct servlet context:
<html><head>
<meta http-equiv="Refresh" content="0;url=http://www.mydomain.com/webappName" />
</head></html>This will tell the client to make a new request to the proper context. You should also move the new web application to a proper location PARALLEL to the ROOT application, not underneath it.

Similar Messages

  • Where to put the Bean class in a html- Bean- JSP setup

    Hi,
    The setup is simple, the front end is a html form, there is a Java Bean with set/get methods and finally a jsp which accesses the bean and prints the result.
    The problem is that it cannot locate the Bean class. I have compiled the bean class and stored the .class file in webapps/ROOT/WEB-INF/classes dir. The jsp and html files are located in the webapps/ROOT dir. Iam using tomcat 5.0.28, with ROOT context enabled. Is this because I need to set the CLASSPATH for Tomcat? Any pointers?
    Thanks

    No you don't need to set CLASSPATH.
    You need to put your bean in a package.
    As of java1.4, JSPs can not access beans that are in the default/unnamed pacakge.
    package mypackage
    public class MyClass
    and then the class would compile to
    WEB-INF/classes/mypackage/MyClass.class

  • Java Proxy Runtime:  failure to locate proxy bean on inbound call

    Hello gurus of the SDN,
    I have been trying to get an inbound Java Proxy scenario to work in XI 3.0 but have not been able to get the JPR to recognize my generated and deployed java code.  My scenario is set up to call the java proxies generated from a message interface based on the MATMAS Idoc.  I successfully deployed the generated java proxies on the same host box as is running the XI instance.  The objects are named as follows
    Message interface on XI = Inbound_MATMAS04
    Generated proxy bean = Inbound_MATMAS04_PortTypeBean
    Implementing class = InboundMATMAS04_PortTypeImpl
    Implementing method = inboundMATMAS04
    I used the JPR transport servlet to register the interface and implementing class but am not sure if I did this correctly.  I used the following entry in my web browser:
    http://nadcp786:50000/ProxyServer/register?
    ns=urn:xiTrainingLabs:groupXX:SAP&
    interface=InboundMATMAS04&
    bean=InboundMATMAS04_PortTypeImpl&
    method=inboundMATMAS04
    I also tried using the localejb/ prefix for the bean name in the above step since the code is co-located.  When I trigger the scenario, the Idoc info is passed into XI and the Java Proxy Runtime is called, but I get the following error response back in the SOAP header:
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="PARSING">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl: com.sap.aii.proxy.xiruntime.core.XmlInboundException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Finally, appended at the end of this post is the audit log of the messaging system showing that the JPR is called but without being able to locate the bean.  I think I am missing a configuration step somewhere, but can’t figure out what it is!!  Can anyone help me? 
    Many thanks in advance.
    Regards,
    Nick Simon
    Time Stamp     Status     Description
    2004-10-25 19:47:32     Success     The message was successfully received by the messaging system. Profile: XI URL: http://nadcp786.bcsdc.lexington.ibm.com:50000/MessagingSystem/receive/JPR/XI
    2004-10-25 19:47:32     Success     Using connection JPR. Trying to put the message into the receive queue.
    2004-10-25 19:47:32     Success     The message was successfully retrieved from the receive queue.
    2004-10-25 19:47:32     Success     The message status set to DLNG.
    2004-10-25 19:47:32     Success     Java proxy runtime (JPR) accepted the message
    2004-10-25 19:47:34     Error     JPR could not process the message. Reason: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl
    2004-10-25 19:47:34     Error     Delivery of the message to the application using connection JPR failed, due to: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl.
    2004-10-25 19:47:34     Error     The message status set to FAIL.
    2004-10-25 19:47:34     Error     Asynchronous error detected: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl. Trying to report it.
    2004-10-25 19:47:34     Error     Asynchronous error reported.
    Message was edited by: Nicholas Simon

    Hi
    How do you determine the JNDI naming of the a EJB?
    I have following entry in JNDI directory in the root
    Object Name FlightQueryIn
    Class Name javax.naming.Reference
    Context Name 
    Object Value Reference Class Name:
    Type: clientAppName
    Content: sap.com/JavaProxyEAR
    Type: interfaceType
    Content: remote
    Type: home
    Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundHome4
    Type: ejb-link
    Content: FlightSeatAvailabilityQueryIn_PortTypeBean
    Type: jndi-name
    Content: FlightQueryIn
    Type: remote
    Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundRemote4
    I tried to register the bean with JPR using:
    http://ctsapxid01:50100/ProxyServer/register?ns=http://sap.com/xi/XI/Demo/Airline&interface=FlightSeatAvailabilityQuery_In&bean=FlightQueryIn&method=flightSeatAvailabilityQueryIn
    I followed the following blog
    http://wiki.sdn.sap.com/wiki/display/Java/JavaProxyChangesinPI7.1fromPI7.0
    Thanks,
    Chris

  • Error in locating entity bean

    Hi
    when i tested my first session bean by IBM websphere Universal Test Client , i got the following error when execute getBookForPlatform(String workPlatform) saying error in locating entity bean Book_catalog and i tried to test Book_catalog entity bean and it's working successfuly but i do not know why seesion bean could not locate it ? :
    ========== the Error ===========
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.RemoteException: ; nested exception is:
    javax.ejb.EJBException: Error getting TechLibBook_catalogLocalHome from findByPlatform method:Error locating TechLibBook_catalogLocalHome: Context: localhost/nodes/localhost/servers/server1, name: ejb/Book_catalog: First component in name Book_catalog not found.
    at com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException(UtilDelegateImpl.java:156)
    at com.ibm.CORBA.iiop.UtilDelegateImpl.wrapException(UtilDelegateImpl.java:684)
    at javax.rmi.CORBA.Util.wrapException(Util.java:295)
    at apress.wsad.techlib._TechLibFacade_Stub.getBookForPlatform(_TechLibFacade_Stub.java:267)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
    at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
    at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)
    at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
    at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:366)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
    at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
    at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
    at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
    at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
    at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
    at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
    at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
    at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
    at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
    at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
    at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
    Caused by: java.rmi.RemoteException: ; nested exception is:
    javax.ejb.EJBException: Error getting TechLibBook_catalogLocalHome from findByPlatform method:Error locating TechLibBook_catalogLocalHome: Context: localhost/nodes/localhost/servers/server1, name: ejb/Book_catalog: First component in name Book_catalog not found.
    at com.ibm.ejs.container.RemoteExceptionMappingStrategy.mapEJBException(RemoteExceptionMappingStrategy.java:379)
    at com.ibm.ejs.container.RemoteExceptionMappingStrategy.mapException(RemoteExceptionMappingStrategy.java:112)
    at com.ibm.ejs.container.RemoteExceptionMappingStrategy.setUncheckedException(RemoteExceptionMappingStrategy.java:202)
    at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedException(EJSDeployedSupport.java:296)
    at apress.wsad.techlib.EJSRemoteStatelessTechLibFacade_3526fe64.getBookForPlatform(EJSRemoteStatelessTechLibFacade_3526fe64.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
    at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
    at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:701)
    at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1084)
    at $Proxy1.getBookForPlatform(Unknown Source)
    at apress.wsad.techlib._TechLibFacade_Stub.getBookForPlatform(_TechLibFacade_Stub.java:260)
    ... 29 more
    Caused by: javax.ejb.EJBException: Error getting TechLibBook_catalogLocalHome from findByPlatform method:Error locating TechLibBook_catalogLocalHome: Context: localhost/nodes/localhost/servers/server1, name: ejb/Book_catalog: First component in name Book_catalog not found.
    at apress.wsad.techlib.TechLibFacadeBean.getBookForPlatform(TechLibFacadeBean.java:92)
    at apress.wsad.techlib.EJSRemoteStatelessTechLibFacade_3526fe64.getBookForPlatform(EJSRemoteStatelessTechLibFacade_3526fe64.java:22)
    ... 39 more
    ===== End of Error ======
    ====== the source code of session bean=======
    package apress.wsad.techlib;
    import javax.ejb.*;
    import javax.naming.*;
    import javax.rmi.*;
    import java.rmi.*;
    import java.lang.*;
    import java.util.*;
    public class TechLibFacadeBean implements javax.ejb.SessionBean
    private javax.ejb.SessionContext mySessionCtx;
    // Variable to keep the Home Local refernce to TechLibBook_catalog object
    private TechLibBook_catalogLocalHome catalogLocalHome = null ;
    // Method to get the Home Interface of the Book_catalog entity bean.
    private TechLibBook_catalogLocalHome getCatalogLocalHome()
    throws RemoteException
    try
    if (catalogLocalHome == null)
    InitialContext initContext = new InitialContext();
    Object objRef =initContext.lookup("ejb/Book_catalog");
    catalogLocalHome = (TechLibBook_catalogLocalHome) objRef;
    return (TechLibBook_catalogLocalHome) objRef;
    else
    return catalogLocalHome;
    catch (NamingException ne)
    System.out.println("Error locating TechLibBook_catalogLocalHome: " +
    ne.getMessage());
    throw
    new RemoteException("Error locating TechLibBook_catalogLocalHome: " +
    ne.getMessage());
    // This business method must be promoted to the remote interface
    public Vector getBookForPlatform(String workPlatform)
    throws FinderException
    Vector bookVector = new Vector();
    TransportBean transObject;
    TechLibBook_catalogLocal bookCatalogLocal = null;
    Collection collBookRecords;
    try
    collBookRecords =
    getCatalogLocalHome().findByPlatform(workPlatform);
    Iterator iterator = collBookRecords.iterator();
    while (iterator.hasNext())
    bookCatalogLocal =
    (TechLibBook_catalogLocal) iterator.next();
    transObject = new TransportBean();
    transObject.catalogNumber = bookCatalogLocal.getCatalog_number();
    transObject.author = bookCatalogLocal.getAuthor();
    transObject.bookTitle = bookCatalogLocal.getBook_title();
    transObject.location = bookCatalogLocal.getLocation();
    transObject.platform = bookCatalogLocal.getPlatform();
    transObject.txnDate = bookCatalogLocal.getLanguage();
    bookVector.addElement(transObject);
    } // End of while
    } // End of try
    catch(FinderException fe)
    System.out.println("Error executing findByPlatform method: " +
    fe.getMessage());
    throw
    new EJBException("Error executing findByPlatform method: " +
    fe.getMessage());
    catch(Exception e)
    System.out.println("Error getting TechLibBook_catalogLocalHome from findByPlatform method:" + e.getMessage());
    throw
    new EJBException("Error getting TechLibBook_catalogLocalHome from findByPlatform method:" + e.getMessage());
    return bookVector;
    public javax.ejb.SessionContext getSessionContext()
    return mySessionCtx;
    public void setSessionContext(javax.ejb.SessionContext ctx)
    mySessionCtx = ctx;
    * ejbCreate
    public void ejbCreate() throws javax.ejb.CreateException
    public void ejbActivate()
    public void ejbPassivate()
    public void ejbRemove()
    ==== End if source code =========
    Please tell me what's the problem ?
    with regards

    i found what's the problem i made the url for lookup as the following:
    lookup("java:comp/env/Book_catalog")
    instead of
    lookup("ejb/Book_catalog")
    could anyone tell me what's the difference between 'java:comp/env/' and without it
    by the way i used for lookup Datasource the following and it's working
    DataSource dataSource = (DataSource)jndiContext.lookup("jdbc/TECHBOOK");
    thanks

  • How to include Managed bean class in build sciprt for taskflow (Jdev 11.4)

    Hi,
    I've developed a custom taskflow to be deployed in the webcenter spaces. The taskflow that I developed contains managed beans. I am using oracle provided build script with the sample application, to deploy custom taskflow. After the build, we don't see any .class files (managed bean files) in the generated war file. Once we deploy the taskflow into the space, it is failing may be because the managed bean class files are missing in the <taskflow>.war. Am i missing something? Should we specifically include the .class files in the build script?
    Below is the oracle provide build script..
    <?xml version="1.0" encoding="US-ASCII" ?>
    <!--Ant buildfile generated by Oracle JDeveloper-->
    <!--Generated Sep 29, 2009 11:47:41 PM-->
    <project name="WebCenterSpacesSharedLibExtension" default="all" basedir="."
    xmlns:wls="oracle.webcenter.tools.wls">
    <property file="../config.properties"/>
    <property file="build.properties"/>
    <import file="internal-targets.xml"/>
    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
    <classpath>
    <pathelement location="${jdeveloper.install.home.directory}/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar"/>
    </classpath>
    </taskdef>
    <target name="clean-stage"
    description="Cleans the output directory and generates the war"
    depends="clean, stage"/>
    <target name="deploy-shared-lib"
    depends="init-wls"
    description="Deploy the extending WebCenter shared library">
    <echo> ---------------------------- </echo>
    <echo> ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} ${oracle.jdeveloper.deploy.dir}/exploded ${wls.webcenter.app.target} ${customer.library.name}</echo>
    <exec logerror="true"
    executable="${jdeveloper.install.home.directory}/oracle_common/common/bin/${wlst.executable}"
    dir="${jdeveloper.install.home.directory}/oracle_common/common/bin">
    <!--TODO:ExpDeploy Uncomment line after this and comment the one after that to deploy exploded. -->
    <arg line="${extending.spaces.home.dir}/WebCenterSpacesSharedLibExtension/extspaces.py ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} ${oracle.jdeveloper.deploy.dir}/exploded/${customer.library.name}.war ${wls.webcenter.app.target} ${customer.library.name}"/>
    <!--TODO:ExpDeploy Uncomment line below and comment line above to have non-exploded deploy -->
    <!--arg line="${extending.spaces.home.dir}/WebCenterSpacesSharedLibExtension/extspaces.py ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} ${oracle.jdeveloper.deploy.dir}/${shared.library.name} ${wls.webcenter.app.target} ${customer.library.name}"/-->
    </exec>
    <echo> ---------------------------- </echo>
    <echo> Restarting the app </echo>
    <echo> ---------------------------- </echo>
    <exec logerror="true"
    executable="${jdeveloper.install.home.directory}/oracle_common/common/bin/${wlst.executable}"
    dir="${jdeveloper.install.home.directory}/oracle_common/common/bin">
    <arg line="${extending.spaces.home.dir}/WebCenterSpacesSharedLibExtension/redepwc.py ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} "/>
    </exec>
    </target>
    </project>
    Thanks in advance
    Nitin

    Hi,
    I've developed a custom taskflow to be deployed in the webcenter spaces. The taskflow that I developed contains managed beans. I am using oracle provided build script with the sample application, to deploy custom taskflow. After the build, we don't see any .class files (managed bean files) in the generated war file. Once we deploy the taskflow into the space, it is failing may be because the managed bean class files are missing in the <taskflow>.war. Am i missing something? Should we specifically include the .class files in the build script?
    Below is the oracle provide build script..
    <?xml version="1.0" encoding="US-ASCII" ?>
    <!--Ant buildfile generated by Oracle JDeveloper-->
    <!--Generated Sep 29, 2009 11:47:41 PM-->
    <project name="WebCenterSpacesSharedLibExtension" default="all" basedir="."
    xmlns:wls="oracle.webcenter.tools.wls">
    <property file="../config.properties"/>
    <property file="build.properties"/>
    <import file="internal-targets.xml"/>
    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
    <classpath>
    <pathelement location="${jdeveloper.install.home.directory}/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar"/>
    </classpath>
    </taskdef>
    <target name="clean-stage"
    description="Cleans the output directory and generates the war"
    depends="clean, stage"/>
    <target name="deploy-shared-lib"
    depends="init-wls"
    description="Deploy the extending WebCenter shared library">
    <echo> ---------------------------- </echo>
    <echo> ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} ${oracle.jdeveloper.deploy.dir}/exploded ${wls.webcenter.app.target} ${customer.library.name}</echo>
    <exec logerror="true"
    executable="${jdeveloper.install.home.directory}/oracle_common/common/bin/${wlst.executable}"
    dir="${jdeveloper.install.home.directory}/oracle_common/common/bin">
    <!--TODO:ExpDeploy Uncomment line after this and comment the one after that to deploy exploded. -->
    <arg line="${extending.spaces.home.dir}/WebCenterSpacesSharedLibExtension/extspaces.py ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} ${oracle.jdeveloper.deploy.dir}/exploded/${customer.library.name}.war ${wls.webcenter.app.target} ${customer.library.name}"/>
    <!--TODO:ExpDeploy Uncomment line below and comment line above to have non-exploded deploy -->
    <!--arg line="${extending.spaces.home.dir}/WebCenterSpacesSharedLibExtension/extspaces.py ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} ${oracle.jdeveloper.deploy.dir}/${shared.library.name} ${wls.webcenter.app.target} ${customer.library.name}"/-->
    </exec>
    <echo> ---------------------------- </echo>
    <echo> Restarting the app </echo>
    <echo> ---------------------------- </echo>
    <exec logerror="true"
    executable="${jdeveloper.install.home.directory}/oracle_common/common/bin/${wlst.executable}"
    dir="${jdeveloper.install.home.directory}/oracle_common/common/bin">
    <arg line="${extending.spaces.home.dir}/WebCenterSpacesSharedLibExtension/redepwc.py ${wls.userconfig} ${wls.userkey} ${wls.host}:${wls.port} "/>
    </exec>
    </target>
    </project>
    Thanks in advance
    Nitin

  • Bean class not compliling

    In a jsp page, a method of bean class is being called as.... <% beanId.BeanClassMethod( ); %> The problem with my program is that my bean class is not compiling. This bean method uses some "outside" classes which are in a single jar file. I have included that jar file in my classpath. The jar file includes classes in different paths like
    a/b/c/x.class
    a/b/d/y.class
    a/b/e/z.class
    Now what I want to know is whether I need to import these classes in my bean class and if yes how? I did import them as below:
    import a.b.c.*;
    but the compiler gives error as:
    package a/b/c does not exists.
    Can anyone figure where am I going wrong?

    Follow the following steps and your problem will be sorted -
    1. Find out if the mentioned class files are present in this jar file
    Move to the directory where this jar file is placed.
    Like, if your jar file is located in C:/myFiles/myjar.jar , move to
    C:/myFiles > jar tf myjar.jar
    when you execute this command, you will see the contents of this jar file as -
    a\b\c\x.class
    a\b\d\y.class
    a\b\e\z.class
    This ensures that required class files are located in this jar file.
    If you could not see the required class files, you have caught the problem.
    2. Ensure the directory hierarchy represents the package
    First of all the set the class path to include the current directory in the classpath as-
    C:/myFiles > set CLASSPATH=%CLASSPATH%;.
    This appends dot(.) to the class path and this . represents the current directory.
    Use the following command -
    C:/myFiles > javap a.b.c.x
    If you get the message like -
    Class 'a.b.c.x' not found
    it infers that this class doesnot have a package statement in it or the package statement doenot reflect the said directory hierarchy.
    If you see the list of methods it means that everything is fine and the only problem is that directory n which this jar file is locate is not in classpath
    Similarly check these other classes
    C:/myFiles > javap a.b.d.y
    C:/myFiles > javap a.b.e.z
    Hope this helps

  • Bean class not found error...

    I am using Tomcat 4.0 on windows 98, when I try to use my bean class from jsp program, I get class not found error. I read/followed all the similar problems in the forum but still have not been able to solve the problem.
    The error I get is as follows:
    ==============================
    type Exception report
    message Internal Server Error
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
    An error occurred at line: 1 in the jsp file: /handoff1.jsp
    Generated servlet error:
    D:\Apps\Apache\Tomcat4.0\work\Standalone\localhost\cartapp\handoff1$jsp.java:56: Class com.cartapp.user.User not found.
    com.cartapp.user.User handoff = null;
    ^
    An error occurred at line: 1 in the jsp file: /handoff1.jsp
    Generated servlet error:
    D:\Apps\Apache\Tomcat4.0\work\Standalone\localhost\cartapp\handoff1$jsp.java:59: Class com.cartapp.user.User not found.
    handoff= (com.cartapp.user.User)
    ^
    An error occurred at line: 1 in the jsp file: /handoff1.jsp
    Generated servlet error:
    D:\Apps\Apache\Tomcat4.0\work\Standalone\localhost\cartapp\handoff1$jsp.java:64: Class com.cartapp.user.User not found.
    handoff = (com.cartapp.user.User) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "com.cartapp.user.User");
    ^
    3 errors, 1 warning
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
    at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
    =============================================
    Location of files
    ==================
    My jsp file is located at:
    D:\Apps\Apache\Tomcat4.0\webapps\ROOT\cartapp
    my bean class - User - is at:
    D:\Apps\Apache\Tomcat4.0\webapps\ROOT\WEB-INF\classes\com\cartapp\user
    Contents of the jsp file
    =======================
    <jsp:useBean id="handoff" scope="session" class="com.cartapp.user.User" />
    <HTML>
    <BODY>
    This is the setting page!
    <%
    handoff.setFirstName("George");
    %>
    </BODY>
    </HTML>
    The first 2 lines of the class are:
    ==================================
    package com.cartapp.user;
    public class User {
    Environment settings
    ====================
    JAVA_HOME=D:\Apps\java\jdk
    CATALINA_HOME=D:\Apps\Apache\Tomcat4.0
    CLASSPATH=;.;F:\ola\progmn\JAVA\pkgs;D:\Apps\Apache\Tomcat4.0\common\lib\servlet.jar
    Can anyone please help. Thanks.
    Thanks.
    Ola Oke (SCJP 1.4)

    Not certain but try putting the classes folder in your classpath:
    D:\Apps\Apache\Tomcat4.0\webapps\ROOT\WEB-INF\classes\

  • Moving Bean-class to different package

    Hi,
    For deployment reasons i need the Bean-class in a different package, seperated from package where the Remote and Home are located. I'm not sure how to do this in VisualAge 3.5p2. Simply moving doesn't work.
    Hope someone can help,
    Maarten

    It sounds a little bit strange. Do you want them in packages with different names, like you have bean-class in com.mycompany.project1.mybeanclasses and have the Remote and Home classes in com.mycompany.project2.myremotehomeclasses? It seems possible if you right-click the class you want to move and select 'move', you can move it to a new package. This will be able to separate them.
    Just curious, I think VAJ is very powerful concerning deploying EJBs already so what kind situation makes you want to separate the bean-class and interfaces?
    PC

  • JSP can't find bean class!!!!!

    First of all, I'm using jdk1.4 beta and Jakarta's tomcat version 4.0.1 release build.
    Hello. I desparately need help. I have a JavaBean class ("CarBean.class") saved in %catalina_home%\webapps\root\myapp\web-inf\classes\com\wrox\cars\CarBean.class
    I also have a jsp page saved as carpage.jsp in %catalina_home%\webapps\root\myapp\
    So when I point my browser to http://localhost:8080/myapp/carpage.jsp, I get an internal server error. It appears it can't find the JavaBean class for some reason. I'm pretty sure I have my envionment variables set up right. I can get it to work, if I save the JavaBean class in c:\jdk1.4\jre\class\com\wrox\cars
    Here's my JavaBean class source file:
    package com.wrox.cars;
    import java.io.Serializable;
    public class CarBean implements Serializable {
    public CarBean() {
    private String make = "Ford";
    public String getMake() {
    return make;
    public void setMake(String make) {
    this.make = make;
    and here's my jsp page:
    <html>
    <head>
    <title>Using a JavaBean</title>
    </head>
    <body>
    <h2>Using a JavaBean</h2>
    <% com.wrox.cars.CarBean myCar = new com.wrox.cars.CarBean(); %>
    I own a <%= myCar.getMake() %>
    <% myCar.setMake("Ferrari"); %>
    Now I own a <%= myCar.getMake() %>
    </body>
    </html>
    This is the only thing I've modified in the server.xml file:
    <Context path="/myapp" docBase="myapp" debug="0" reloadable="true"/>
    I'm not new to java, just JSP. I just don't know why I can't get the jsp to locate the JavaBean class. I remember I used to have an older version of Tomcat and I recall not having any problems. It seems the Tomcat 4.XX is somewhat significantly different than previous versions. Perhaps I configured my Tomcat or server.xml wrong? Help would be greatly appreciated. Thanks.

    Hi,
    I am having a similar problem. I was wondering if you found a solution. The error I get is listed below. I have my jsp file at ../webapps/ROOT/myapp/web and my bean file located at ../webapps/ROOT/myapp//src.
    Any help will be highly appreciated
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
    An error occurred at line: 8 in the jsp file: /DataBaseSelect.jsp
    Generated servlet error:
    D:\WeeklyReportProject\jwsdp-1_0_01\work\Standard Engine\localhost\Test\DataBaseSelect$jsp.java:61: Class org.apache.jsp.DataBaseSelect not found.
    DataBaseSelect select = null;
    ^
    An error occurred at line: 8 in the jsp file: /DataBaseSelect.jsp
    Generated servlet error:
    D:\WeeklyReportProject\jwsdp-1_0_01\work\Standard Engine\localhost\Test\DataBaseSelect$jsp.java:64: Class org.apache.jsp.DataBaseSelect not found.
    select= (DataBaseSelect)
    ^
    An error occurred at line: 8 in the jsp file: /DataBaseSelect.jsp
    Generated servlet error:
    D:\WeeklyReportProject\jwsdp-1_0_01\work\Standard Engine\localhost\Test\DataBaseSelect$jsp.java:69: Class org.apache.jsp.DataBaseSelect not found.
    select = (DataBaseSelect) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "DataBaseSelect");
    ^
    3 errors, 1 warning

  • JSP with Bean Class

    Hi,
    i am using tomcat server, Where it is store Bean class file, and how to call bean class file in JSP
    Pls help me

    Thanks, that works when I do this from current dir (C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\servlets-example
    \WEB-INF\classes) :
    set CLASSPATH=.;%CLASSPATH%
    And I have to put the User.java file in the util directory that is located up one directory (C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\servlets-example
    \WEB-INF\classes\util).
    package util;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import util.User;But it still wont work from the num directory that I had in my original question. I tried setting my classpath to point to the num package:
    Set CLASSPATH=%CLASSPATH%;C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jsp-examples\WEB-INF\classes\num
    and it gave me same error.
    Please advise or should I just live with the servlet calling the class in the util directory and forget about the num directory?

  • Using a backing bean in JDeveloper to assign bean class variables

    I am using JDeveloper 10 to make a jsp page that is a form full of inputs and buttons. JDeveloper then creates the setters and getters for you for the ids of the various inputs and buttons. I also have used JDeveloper to create a backing bean.
    The idea of this is to have the backing bean read in parameter(s) from an http source/link(when the form is loaded or instantiated) and assign those parameter(s) to one of the bean class local variables.
    The reason i want to do this is, is that when the form is loaded the first thing it will do is open up an available database(in the bean class constructor), then in the constructor call a function to do a database query that will return a result set that will then be used to fill up the form.
    That variable that is assigned by the backing bean will be the value of a unique database identifier for doing the sql query so that is why it is important that i get this value as the form loads.
    So simply i need to find out from someone how to do this. i am totally new to doing any jsp development or using managed beans and i have gotten far enough to launch the form, retrieve and write to the database using sql queries and all the rest.
    I just dont know enough about managed beans to make a decision on things like making the bean have a session scope. do i need request scope? if i change to request scope how do i make sure the database isn't being called every time the page changes or is refreshed?(when i had it as request scope the constructor was being called every time the page was reloaded and that isnt effecient at all, especially with multiple users). can you define more than one managed bean in one faces config file? do i have to manually change something in the jsp file to make sure things run smoothly?
    Just maybe things are easier than i see them to be and my only problem is that i just dont understand what i am doing. here is what my backing bean looks like now with just basic session scope.
    An example of course would be something like: http://host:port/context-root/faces/register.jsp?12345 - where 12345 would be the value that i would like to assign to a local variable in my bean class that can then be used for filtering out information via a query then filling up the form, all this happening at instantiation.
    <?xml version="1.0" encoding="windows-1252"?>
    <!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config xmlns="http://java.sun.com/JSF/Configuration">
    <managed-bean>
    <managed-bean-name>beanpackage</managed-bean-name>
    <managed-bean-class>beanpackage.beanclass</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <!--oracle-jdev-comment:managed-bean-jsp-link:1register.jsp-->
    </managed-bean>
    </faces-config>
    This is what i have now, i've tried tons of stuff on the web like assigned value parameters but just am stuck on exactly what to do as nothing has seemed to work. Any help would be appreciated. Thanks in advance!

    Hi,
    don't think you will get a readily programmed solution to this (though I wish you luck). Here's how I would approach the managed bean issue
    - One managed bean that you configure from a java.util.HashMap. This bean should be in requestScope (should be okay here). Say the bean is called "formFields", then adding data to it can be done with the following EL #{formBean['attribute_name']}. You need to add this as the value Expression of the inputText field you create dynamically. The filed will then read and write to the HashMap
    - Create a managed bean in session scope to handle the database interaction. Put this into session scope (e.g. "database")
    - Create a managed bean that holds the action listener that handles the update, insert and delete actions (e.g. logic handler). This bean has a JSF reference to the root component in the page (or the form layout component to add the fields to)
    The "database" bean is referenced from the logic handler managed bean using the #{database} expression, which you resolve using a ValueBinding (ExpressionBinding in JSF 1.2). Or, you configure the bean as a managed property.
    The logic managed bean also needs to reference the formFields bean (similar to above) to access the contained filed names and attributes. If the filed attributes match column names in the database then you should be all set
    Frank

  • 2 Threads issues. How to return data from a thread located in other class

    I have 2 questions.
    This is the context. From main I start one thread that does a little job then starts another thread and waits for it to end to continue.
    1) The last started thread needs to return a string to the Thread started from main. How can I accomplish that, because I read that I cannot use
    synchronized methods outside different classes (and the threads belongs to different classes).
    2) From the main thread I start the Second Thread located in another class like this ClassName obj = new ClassName(arg); obj.start(); obj.join()
    Is that correct for waiting for the created thread to finish ?

    1) The last started thread needs to return a string to the Thread started from main. How can I accomplish that, because I read that I cannot use
    synchronized methods outside different classes (and the threads belongs to different classes).Threads do not "belong" to classes. Class code executes in a particular thread. The class instances exist as long as something, somewhere, holds a strong reference to them.
    So when you start a new thread, hold a strong reference to the object being executed by that thread. When the thread is done, retrieve your data from that object.
    Even better, don't subclass Thread to create your objects. Instead, implement Callable, and use a ThreadPoolExecutor to execute it.

  • Multiple instances of the same bean class in session?

    I�m trying to think of a way to have multiple instances of the same bean class in session scope using JSF. For example, let�s say that I have two <h:dataTable>s on the same page. They both use the backing bean called genericBean. Now, the content for genericBean will be different for each <h:dataTable>. In fact, the data source that backs genericBean is not known until runtime. It could be a database, web service, etc.
    What I would like is for when JSF needs access genericBean instead of looking for the value with key �genericBean� in the session map it looks for �genericBean_[some runtime ID]�. I could specify this id in EL on a custom component, as a request parameter or whatever.
    I think that I need the bean to be in session scope because the tables are complex and I want them to be editable.
    I have some ideas about how I can do this but I was wondering if someone has already solved this problem or if there is a standard way to do this using tools like Shale, etc.
    Thanks,
    Randy

    Well, I came up with an interesting solution to this so I thought that I would post it here.
    I have a page that looks like this.
    <html>
    <head>
    <title>My Page</title>
    </head>
    <body>
    <f:view>
    <f:subview id="component1">
    <jsp:include page="component.jsp">
    <jsp:param name="id" value="a" />
    </jsp:include>
    </f:subview>
    <hr>
    <f:subview id="component2">
    <jsp:include page="component.jsp">
    <jsp:param name="id" value="b" />
    </jsp:include>
    </f:subview>
    </f:view>
    </body>
    </html>
    And component.jsp looke like this.
    <f:verbatim>
    <p>
    <h1>Component
    </f:verbatim>
    <h:outputText value=" #{param.id}" />
    <f:verbatim>
    </h1>
    </p>
    </f:verbatim>
    <h:form>
    <h:outputText value="#{component.id}" />
    <h:outputText value="#{component.value}" />
    <h:commandButton value="increment" action="#{component.increment}" />
    <h:commandButton value="decrement" action="#{component.decrement}" />
    <f:verbatim>
    <input type="hidden" name="id"
    value="</f:verbatim><h:outputText value="#{param.id}"/><f:verbatim>" />
    </f:verbatim>
    </h:form>
    The idea is that I want component.jsp to be initialized differently based on the id param. The component managed bean is configured to be in session scope but I want the component instance for id a and id b to be different instances in session scope. Therefore, I added a custom variable resolver to handle this.
    public Object resolveVariable(FacesContext context, String name) {
    // This id will be different for the different subviews.
    HttpServletRequest request = (HttpServletRequest) context.getExternalContext() .getRequest();
    String id = request.getParameter("id");
    // If there is an id in the request then check if this is a bean that can have multiple
    // instances in session scope.
    if ((id != null) && (id.length() > 0)) {
    ExternalContext ec = context.getExternalContext();
    // Build the new name for the key of this bean
    String newName = name + "_" + id;
    Object value = null;
    // See if the bean instance already esists.
    if ((null == (value = ec.getRequestMap().get(newName))) &&
    (null == (value = ec.getSessionMap().get(newName))) &&
    (null == (value = ec.getApplicationMap().get(newName)))) {
         // We could not find the bean instance in scope so create the bean
         // using the standard variable resolver.
    value = original.resolveVariable(context, name);
    // Now check if the bean implements that page component interface. If it is
    // a page component then we want to rename the key to access this bean so
    // that the instance is only used when the id is provided in the request.
    // For example, if there are two components (a and b) we will have in session scope
    // component_a and component_b. The will each point to a unique instance of the
    // Component bean class.
    if (value instanceof PageComponent) {
    // Try to get the value again
    if (null != (value = ec.getRequestMap().get(name))) {
         // Initialize the bean using the id
    ((PageComponent) value).initInstance(id);
    ec.getRequestMap().remove(name);
    ec.getRequestMap().put(newName, value);
    } else if (null != (value = ec.getSessionMap().get(name))) {
    ((PageComponent) value).initInstance(id);
    ec.getSessionMap().remove(name);
    ec.getSessionMap().put(newName, value);
    } else if (null != (value = ec.getApplicationMap().get(name))) {
    ((PageComponent) value).initInstance(id);
    ec.getApplicationMap().remove(name);
    ec.getApplicationMap().put(newName, value);
    return value;
    return original.resolveVariable(context, name);
    }

  • Is it possible to put the results from a query in a variable to use in the bean class?

    Hello, I'm using JDeveloper 12.1.2.0.0
    I would like to keep the result of my queries (the method i created in the AppModule) in a RichTable or other type of variable so i can have the results stored and i don't have to do unnecessary queries after. I don't think the query is the problem but keeping the results.
    I've tried to do that by using this:
        public String testVFactSales(String conditions) {
            PreparedStatement query = getDBTransaction().createPreparedStatement("" + "select * from v_fact_sales " + conditions, 0);
            //ResultSet rs;
            ResultSet result;
            //RichTable result;
            //String result = null;
            try {
                //query.setString(1, conditions);
                // query.execute();
                query.execute();
                result = query.getGeneratedKeys();
                query.close();
                System.out.println("Result: " + result.toString());
                return result.toString();
            } catch (SQLException e) {
                e.printStackTrace();
            return "";
    As you can see, i've already tried some solutions but so far i only get errors (cannot convert or null exception, when i try to put the result in a richtable in my bean class)
    Any ideas?
    This is very important for me, since it would improve the performance of my project a lot.
    Regards,
    Frederico.

    Hey Arunkumar,
    I came to this conclusion since i'm using binding variables with my where clauses.
    I've measured the time and i get really bad time responses.
    This is my main table query, where all the others selections will be filter the search in this table:
    SELECT VFactSalesNew.N_SALES,                              
           VFactSalesNew.QUANTITY,                              
           VFactSalesNew.PRICE,                               ,                              
           VFactSalesNew.FK_STORE,                              
           VFactSalesNew.ID_ANO,                              
           VFactSalesNew.QUARTER   
    FROM V_FACT_SALES_NEW VFactSalesNew                              
    WHERE                                          
    ((nvl(:var_dimCoin,'0') ='0' OR FK_COIN IN (select * from THE(select cast( in_list(:var_dimCoin) as mytableType ) from dual ) a) )                                                   
    AND                                                 
    (nvl(:var_dimProduct,'0') ='0' OR FK_PRODUCT IN (select * from THE(select cast( in_list(:var_dimProduct) as mytableType ) from dual ) a) )                                                  
    AND                                                 
    (nvl(:var_dimCustomer,'0') ='0' OR FK_CUSTOMER IN (select * from THE(select cast( in_list(:var_dimCustomer) as mytableType ) from dual ) a) )                                                 
    AND                                                 
    (nvl(:var_dimStore,'0') ='0' OR FK_STORE IN (select * from THE(select cast( in_list(:var_dimStore) as mytableType ) from dual ) a) )                                                
    AND                                                 
    (nvl(:var_dimSeller,'0') ='0' OR FK_SELLER IN (select * from THE(select cast( in_list(:var_dimSeller) as mytableType ) from dual ) a) )                                                  
    AND                                                 
    (nvl(:var_dimProject,'0') ='0' OR FK_PROJECT IN (select * from THE(select cast( in_list(:var_dimProject) as mytableType ) from dual ) a) )                                                  
    AND                                                 
    (nvl(:var_ano, '0') ='0' OR ID_ANO IN (select * from THE(select cast( in_list(:var_ano) as mytableType ) from dual ) a) )                                                  
    AND                                                 
    (nvl(:var_treemap,'0') ='0' OR PK_REGION IN (select * from THE(select cast( in_list(:var_treemap) as mytableType ) from dual ) a) )                                                  

  • How to set render value in a bean class

    HI,
    I am new to jsf,in a jsf I put two images using <h:graphicImage> tag now my requirement is when the page is loaded one image has to appear and whenever I click on the first image the first image has to disappear and second image has to appear....I am trying this one but I am unabel to get the solution....can any one please tell me.and also can u tell me where can I get information about creating the bean class and how to create the objects for the components in a bean calss??
    Thanks...

    I think you can start from jsf basics here :
    http://jsf.javabeat.net/articles/2007/05/java-server-faces-introduction/

Maybe you are looking for

  • Playing AirTunes from Mac via wifi (Orange Livebox) to Airport Express

    I connect to the internet and serve a wifi network via an Orange Livebox (ADSL router + wifi) in my study. I've just bought an Airport Express with the aim of using AirTunes to stream music from my Mac to the lounge. I've also got a MacBook and agein

  • CONNECT BY PRIOR question

    Hi, I have following problem Table TMP contains following data ID PID 1 2 1 3 2 select t.id from tmp t where level=(select max(level) from tmp t2 connect by prior t2.pid=t2.id start with t2.id=&ID) connect by prior t.pid=t.id start with t.id=&ID Sele

  • Vendor score

    Hi Experts,                I have made all the settings for vendor evaluation. KIndly tell me in t code ME65 scores are coming Total             82 PRICE          46 QUALIT         89 DELIV.         100 Av. Variance  0 Kindly tell me how the system i

  • How to display mulitple columns in JList

    Hi, I am able to display items in the JList. However, the list is scrolling down to the bottom. I would like the items to be listed horizontally than vertically. Could someone give me some insight? Thanks, Pin

  • Inserting data through Button!

    Hi, I'm getting a error while i submit some data on button click. I've created a normal insert statement in a block. and calling that procedure(created under page processes) on button click. Begin insert into LOG_TABLE(name,USERIP,currdate) values('n