Errors in a Java class when calling other methods

I am giving the code i have given the full class name . and now it is giving the following error :
Cannot reference a non-static method connectDB() in a static context.
I am also giving the code. Please do help me on this. i am a beginner in java.
import java.sql.*;
import java.util.*;
import DButil.*;
public class StudentManager {
/** Creates a new instance of StudentManager */
public StudentManager() {
Connection conn = null;
Statement cs = null;
public Vector getStudent(){
try{
dbutil.connectDB();
String Query = "Select St_Record, St_L_Name, St_F_Name, St_Major, St_Email_Address, St_SSN, Date, St_Company, St_Designation";
cs = conn.createStatement();
java.sql.ResultSet rs = cs.executeQuery(Query);
Vector Studentvector = new Vector();
while(rs.next()){
Studentinfo Student = new Studentinfo();
Student.setSt_Record(rs.getInt("St_Record"));
Student.setSt_L_Name(rs.getString("St_L_Name"));
Student.setSt_F_Name(rs.getString("St_F_Name"));
Student.setSt_Major(rs.getString("St_Major"));
Student.setSt_Email_Address(rs.getString("St_Email_Address"));
Student.setSt_Company(rs.getString("St_Company"));
Student.setSt_Designation(rs.getString("St_Designation"));
Student.setDate(rs.getInt("Date"));
Studentvector.add(Student);
if( cs != null)
cs.close();
if( conn != null && !conn.isClosed())
conn.close();
return Studentvector;
}catch(Exception ignore){
return null;
}finally {
dbutil.closeDB();
import java.sql.*;
import java.util.*;
public class dbutil {
/** Creates a new instance of dbutil */
public dbutil() {
Connection conn;
public void connectDB(){
conn = ConnectionManager.getConnection();
public void closeDB(){
try{
if(conn != null && !conn.isClosed())
conn.close();
}catch(Exception excep){
The main error is occuring at the following lines connectDB() and closeDB() in the class student manager. The class dbutil is in an another package.with an another file called connectionManager which establishes the connection with DB. The dbutil has the openconnection and close connection methods. I have not yet written the insert statements in StudentManager. PLease do Help me

You're doing quite a few things that will cause errors, I'm afraid. I'll see if I can help you.
The error you're asking about is caused by the following line:
dbutil.connectDB();
Now first of all please always ensure that your class names begin with capital letters and your instances of classes with lowercase letters. That's what everybody does, so it makes your code much easier to follow.
So re-write the couple of lines at the beginning of your dbutil class like this:
public class Dbutil {
/** Creates a new instance of Dbutil */
public Dbutil() {
Now you need to create an instance of dbutil before you can call connectDB() like this:
Dbutil dbutil = new Dbutil();
now you can call the method connectDB():
dbutil.connectDB();
The problem was that if you don't create an instance first then java assumes that you are calling a static method, because you don't need an instance of a class to call a static method. If it was static, the method code would have been:
public static void connectDB(){
You have a fine example of a static method call in your code:
ConnectionManager.getConnection();
If it wasn't a static method your code would have to look like this:
ConnectionManager connectionManager = new ConnectionManager();
connectionManager.getConnection();
See the difference? I also know that ConnectionManager.getConnection() is a call to a static method because it begins with a capital letter.
Anyway - now on to other things:
You have got two different Connection objects called conn. One is in StudentManager and the other is in Dbutils, and for the moment they have nothing to do with each other.
You call dbUtil.connectDb() and so if your connectDb method is working properly you have a live connection called conn in your dbUtil object. But the connection called conn in StudentManager is still null.
If your connection in the dbUtil object is working then you could just add a line after the call to connectDb() in StudentManager so that the StudentManager.conn object references the dbUtil.conn object like this:
dbutil.connectDB();
conn = dbUtil.conn;

Similar Messages

  • Using a string or char as a class when calling a method

    Is there a way to take the string.charAt(int) method and use it as a stand in for a class that is one character long? (Examples below, as I'm sure that question makes no sense out of context.)
    Something like (note the last line):
    import java.util.Scanner;
    public class DRV
         public static void main(String[] args)
              Scanner inpt = new Scanner(System.in);
              String stringy;
              A a = new A();
              System.out.println("Enter 'a': ");
              stringy = inpt.next();
              [stringy.charAt(0)].lineOne();
    }Or will I just have to use a lot of if statements:
    import java.util.Scanner;
    public class DRV
         public static void main(String[] args)
              Scanner inpt = new Scanner(System.in);
              String stringy;
              A a = new A();
              System.out.println("Enter 'a': ");
              stringy = inpt.next();
              if (stringy.charAt(0) == 'a')
                   a.lineOne();
                   System.out.println();
    }I doubt this is possible, but it would be totally awesome if there was something like [stringy.charAt(0)].classmethod();. This would allow me to just use a couple for loops instead of a cluster of if's.
    Thanks for any help.
    Edited by: 797223 on Sep 28, 2010 11:21 PM

    What Kayaman said.
    Another suggestion, slightly more elaborate, is to use class.forName() and reflection to create an instance of the correct class:
    stringy = inpt.next();
    Class clazz = Class.forName(makeClassCase(stringy));
    Object o = clazz.newInstance();
    SomeInterface i = (SomeInterface)o;
    i.lineOne();This assumes that you write a method private String makeClassCase(String s) that returns the correctly cased class name (e.g. transforms 'a' to 'A') and adds the appropriate package name if applicable, and that you define method lineOne() in an interface SomeInterface and in all classes that implement it (assuming I have correctly understood that all your classes do expose the same lineOne() method).
    You'll have to make special provisions for error cases (e.g. the user types a class name that doesn't exist, or that doesn't implement the common interface).

  • Call a java class when deleting a user

    Hi,
    I have identified the "Deprovision Form" as the form used when you want to delete a user. What I would to do is invoke a java class when you press on OK on the delete user page.
    thanks in advance.

    You can try to call the java class in a Field's Expansion block by putting the condition that
    <cond>
    <eq>
    buttonValue
    OK
    <eq>
    then call java....

  • Can't add list element when calling a method from another class

    I am trying to call a method in another class, which contains code listmodel.addElement("text"); to add an element into a list component made in that class.
    I've put in System.out.println("passed"); in the method just to make sure if the method was being called properly and it displays normally.
    I can change variables in the other class by calling the method with no problem. The only thing I can't do is get listmodel.addElement("text"); to add a new element in the list component by doing it this way.
    I've called that method within it's class and it added the element with no problem. Does Java have limitations about what kind of code it can run from other classes? And if that's the case I'd really like to know just why.

    There were no errors, just the element doesnt get added to the list by doing it this way
    class showpanel extends JPanel implements ActionListener, MouseMotionListener {
           framepanel fp = new framepanel();
           --omitted--
         public void actionPerformed(ActionEvent e){
                  if(e.getSource() == button1){
                       fp.addLayer();
    /*is in a different class file*/
    class framepanel extends JPanel implements ActionListener{
            --omitted--
         public void addLayer(){
              listmodel.addElement("Layer"+numLayer);
              numLayer++;
    }

  • Error while importing java class into oracle forms 10g

    Hi
    I have generated a web service client using jdeveloper 10g. It consists of complex type methods. I am trying to import the class files using java importer in oracle form 10g. I am able import all of them successfully except one. That one is the main method. Please see the error and suggest me how to overcome this error.
    Exception occurred: java.lang.NoClassDefFoundError: oracle/jdeveloper/webservices/runtime/WrappedDocLiteralStub
    Thanks in advance

    Do you see oracle/jdeveloper listed in "Import Java Classes" when you try to import?
    If not, make sure you add C:\DevSuiteHome_1\jdev\lib\jdev.jar to FORMS_BUILDER_CLASSPATH in registry
    Also excetion indicates: oracle/jdeveloper/webservices/runtime/WrappedDocLiteralStub
    If you typing it - type: oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub

  • How do you call a java class from the main method in another class?

    Hi all,
    How do you call a java class from the main() method in another class? Assuming the two class are in the same package.
    Thanks
    SI
    Edited by: okun on May 16, 2010 8:40 PM
    Edited by: okun on May 16, 2010 8:41 PM
    Edited by: okun on May 16, 2010 8:47 PM

    georgemc wrote:
    To answer your impending question, either the method you're calling has to be static, or you need an instance of that other class to invoke it against. Prefer the latterAnd to your impending question after that: no, don't use the Singleton pattern.

  • How to trigger a JAVA class when replication is processed?

    Hi,
    How I can trigger a JAVA class when a replication is processed?
    Also I want to get the payload involved in that process.
    Is there any way to do this?
    Please post your suggestions on this...
    Regards,
    Shankar .A

    If you are interested in building your own payload format, check the ContentBuilder interface.
    If you want to get notified, when a replication is triggered, check the Sling event tab in the Felix console (http://localhost:4502/system/console/events). You can register your event OSGI event listener and process that information. See http://sling.apache.org/documentation/tutorials-how-tos/how-to-manage-events-in-sling.html for some more information and samples.
    Jörg

  • I have recently upgraded to iPhone 5 from 4, call line identity doesn't work when call other iPhones.  It works when calling any other brand of cell phone.  Network carrier assures me problem is not on there side.  Any assistance will be appreciated.

    I have recently upgraded to iPhone 5 from 4, call line identity doesn't work when call other iPhones.  It works when calling any other brand of cell phone.  Network carrier assures me problem is not on there side.  Any assistance will be appreciated.

    I have recently upgraded to iPhone 5 from 4, call line identity doesn't work when call other iPhones.  It works when calling any other brand of cell phone.  Network carrier assures me problem is not on there side.  Any assistance will be appreciated.

  • NoSuchMethodError when call JPublisher method

    Im getting a java.lang.NoSuchMethod error when calling a method within
    a Java class generated by JPublisher.

    Hi Larry,
    thanks for the answer:
    DB Version is:
    select * from v$version:
    SQL> select * from v$version;
    BANNER
    Oracle9i Enterprise Edition Release 9.0.1.4.0 - 64bit Production
    PL/SQL Release 9.0.1.4.0 - Production
    CORE     9.0.1.2.0     Production
    TNS for IBM/AIX RISC System/6000: Version 9.0.1.4.0 - Production
    NLSRTL Version 9.0.1.4.0 - Production
    Is there a possibility to get out if intermedia is installed? I really think it is because the methods work. I can process the image - the problem is that somehow a error occurs but the the method worked. The image written to the filesystem has the correct values.
    describe ordsys.ordimage leads to the expected output:
    SQL> describe ordsys.ordimage;
    Element Type
    SOURCE ORDSYS.ORDSOURCE
    HEIGHT INTEGER
    WIDTH INTEGER
    CONTENTLENGTH INTEGER
    FILEFORMAT VARCHAR2(4000)
    CONTENTFORMAT VARCHAR2(4000)
    COMPRESSIONFORMAT VARCHAR2(4000)
    MIMETYPE VARCHAR2(4000)
    INIT FUNCTION
    COPY PROCEDURE
    PROCESS PROCEDURE
    PROCESSCOPY PROCEDURE
    SETPROPERTIES PROCEDURE
    CHECKPROPERTIES FUNCTION
    GETHEIGHT FUNCTION
    GETWIDTH FUNCTION
    GETFILEFORMAT FUNCTION
    GETCONTENTFORMAT FUNCTION
    GETCOMPRESSIONFORMAT FUNCTION
    SETLOCAL PROCEDURE
    CLEARLOCAL PROCEDURE
    ISLOCAL FUNCTION
    GETUPDATETIME FUNCTION
    SETUPDATETIME PROCEDURE
    GETMIMETYPE FUNCTION
    SETMIMETYPE PROCEDURE
    GETCONTENTLENGTH FUNCTION
    GETCONTENT FUNCTION
    GETBFILE FUNCTION
    DELETECONTENT PROCEDURE
    SETSOURCE PROCEDURE
    GETSOURCE FUNCTION
    GETSOURCETYPE FUNCTION
    GETSOURCELOCATION FUNCTION
    GETSOURCENAME FUNCTION
    IMPORT PROCEDURE
    IMPORTFROM PROCEDURE
    EXPORT PROCEDURE
    PROCESSSOURCECOMMAND FUNCTION
    OPENSOURCE FUNCTION
    CLOSESOURCE FUNCTION
    TRIMSOURCE FUNCTION
    READFROMSOURCE PROCEDURE
    WRITETOSOURCE PROCEDURE
    MIGRATEFROMORDIMGB PROCEDURE
    MIGRATEFROMORDIMGF PROCEDURE
    GETPROPERTIES PROCEDURE
    I do not want to use a database link. everything is stored in that one database. I really have no clue why plsql thinks I want to.
    Regards,
    Markus

  • Browser Dependency when calling a method in backing bean using a javasript.

    Hi all,
    I have a problem which may look simple but bugging me for quite some time.
    The problem is : When I call a method in the backing bean using a Javascript, (the method can alternatively be invoked by clicking on a command link) I am facing an exception (stack printed below).
    The strange part is that...I am getting this exception only when I use Internet Explorer. It works absolutely fine when I use Mozilla or Netscape browsers. Also, even in ie, it is working fine when I click on the link directly. The probem comes only when I invoke the action using a javascript.
    WARN [lifecycle] executePhase(RENDER_RESPONSE 6,com.sun.faces.cont
    ext.FacesContextImpl@16ce9df) threw exception
    javax.faces.FacesException
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java
    :135)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
    FilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
    ain.java:206)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
    FilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
    ain.java:206)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.ja
    va:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
    FilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
    ain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
    va:230)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
    va:175)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci
    ationValve.java:179)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:
    84)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnecti
    onValve.java:156)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
    :109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
    11Protocol.java:580)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)
    Caused by: ClientAbortException: java.net.SocketException: Connection reset by
    peer: socket write error
         at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:
    358)
         at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
         at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:309)
         at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
         at org.apache.catalina.connector.Response.flushBuffer(Response.java:542)
         at org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java
    :279)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:20
    2)
         at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java
    :101)
         at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:
    222)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java
    :106)
         ... 24 more
    Caused by: java.net.SocketException: Connection reset by peer: socket write erro
    r
         at java.net.SocketOutputStream.socketWrite0(Native Method)
         at java.net.SocketOutputStream.socketWrite(Unknown Source)
         at java.net.SocketOutputStream.write(Unknown Source)
         at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWri
    te(InternalOutputBuffer.java:764)
         at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFi
    lter.java:124)
         at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.j
    ava:570)
         at org.apache.coyote.Response.doWrite(Response.java:560)
         at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:
    353)
         ... 33 more
    13:54:42,805 ERROR [STDERR] ClientAbortException: java.net.SocketException: Con
    nection reset by peer: socket write error
    13:54:42,805 ERROR [STDERR]      at org.apache.catalina.connector.OutputBuffer.realW
    riteBytes(OutputBuffer.java:358)
    13:54:42,805 ERROR [STDERR]      at org.apache.tomcat.util.buf.ByteChunk.flushBuffer
    (ByteChunk.java:434)
    13:54:42,805 ERROR [STDERR]      at org.apache.catalina.connector.OutputBuffer.doFlu
    sh(OutputBuffer.java:309)
    13:54:42,805 ERROR [STDERR]      at org.apache.catalina.connector.OutputBuffer.flush
    (OutputBuffer.java:288)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.connector.Response.flushBuff
    er(Response.java:542)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.connector.ResponseFacade.flu
    shBuffer(ResponseFacade.java:279)
    13:54:42,820 ERROR [STDERR]      at com.sun.faces.application.ViewHandlerImpl.render
    View(ViewHandlerImpl.java:202)
    13:54:42,820 ERROR [STDERR]      at org.ajax4jsf.framework.ViewHandlerWrapper.render
    View(ViewHandlerWrapper.java:101)
    13:54:42,820 ERROR [STDERR]      at org.ajax4jsf.framework.ajax.AjaxViewHandler.rend
    erView(AjaxViewHandler.java:222)
    13:54:42,820 ERROR [STDERR]      at com.sun.faces.lifecycle.RenderResponsePhase.exec
    ute(RenderResponsePhase.java:106)
    13:54:42,820 ERROR [STDERR]      at com.sun.faces.lifecycle.LifecycleImpl.phase(Life
    cycleImpl.java:251)
    13:54:42,820 ERROR [STDERR]      at com.sun.faces.lifecycle.LifecycleImpl.render(Lif
    ecycleImpl.java:144)
    13:54:42,820 ERROR [STDERR]      at javax.faces.webapp.FacesServlet.service(FacesSer
    vlet.java:245)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.
    internalDoFilter(ApplicationFilterChain.java:290)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.
    doFilter(ApplicationFilterChain.java:206)
    13:54:42,820 ERROR [STDERR]      at com.hds.vc.common.infrastructure.AIMFilter.doFil
    ter(AIMFilter.java:27)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.
    internalDoFilter(ApplicationFilterChain.java:235)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.
    doFilter(ApplicationFilterChain.java:206)
    13:54:42,820 ERROR [STDERR]      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.d
    oFilter(ReplyHeaderFilter.java:96)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.
    internalDoFilter(ApplicationFilterChain.java:235)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.
    doFilter(ApplicationFilterChain.java:206)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.StandardWrapperValve.in
    voke(StandardWrapperValve.java:230)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.StandardContextValve.in
    voke(StandardContextValve.java:175)
    13:54:42,820 ERROR [STDERR]      at org.jboss.web.tomcat.security.SecurityAssociatio
    nValve.invoke(SecurityAssociationValve.java:179)
    13:54:42,820 ERROR [STDERR]      at org.jboss.web.tomcat.security.JaccContextValve.i
    nvoke(JaccContextValve.java:84)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.StandardHostValve.invok
    e(StandardHostValve.java:128)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.valves.ErrorReportValve.invo
    ke(ErrorReportValve.java:104)
    13:54:42,820 ERROR [STDERR]      at org.jboss.web.tomcat.service.jca.CachedConnectio
    nValve.invoke(CachedConnectionValve.java:156)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.core.StandardEngineValve.inv
    oke(StandardEngineValve.java:109)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.connector.CoyoteAdapter.serv
    ice(CoyoteAdapter.java:241)
    13:54:42,820 ERROR [STDERR]      at org.apache.coyote.http11.Http11Processor.process
    (Http11Processor.java:844)
    13:54:42,820 ERROR [STDERR]      at org.apache.coyote.http11.Http11Protocol$Http11Co
    nnectionHandler.process(Http11Protocol.java:580)
    13:54:42,820 ERROR [STDERR]      at org.apache.tomcat.util.net.JIoEndpoint$Worker.ru
    n(JIoEndpoint.java:447)
    13:54:42,820 ERROR [STDERR]      at java.lang.Thread.run(Unknown Source)
    13:54:42,820 ERROR [STDERR] Caused by: java.net.SocketException: Connection rese
    t by peer: socket write error
    13:54:42,820 ERROR [STDERR]      at java.net.SocketOutputStream.socketWrite0(Native
    Method)
    13:54:42,820 ERROR [STDERR]      at java.net.SocketOutputStream.socketWrite(Unknown
    Source)
    13:54:42,820 ERROR [STDERR]      at java.net.SocketOutputStream.write(Unknown Source
    13:54:42,820 ERROR [STDERR]      at org.apache.coyote.http11.InternalOutputBuffer$Ou
    tputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:764)
    13:54:42,820 ERROR [STDERR]      at org.apache.coyote.http11.filters.ChunkedOutputFi
    lter.doWrite(ChunkedOutputFilter.java:124)
    13:54:42,820 ERROR [STDERR]      at org.apache.coyote.http11.InternalOutputBuffer.do
    Write(InternalOutputBuffer.java:570)
    13:54:42,820 ERROR [STDERR]      at org.apache.coyote.Response.doWrite(Response.java
    :560)
    13:54:42,820 ERROR [STDERR]      at org.apache.catalina.connector.OutputBuffer.realW
    riteBytes(OutputBuffer.java:353)
    13:54:42,820 ERROR [STDERR]      ... 33 more
    Please throw some light on this issue.

    This is the Java script I am using
    function submitForm(e){
         var characterCode
         if(e && e.which){
         e = e
         characterCode = e.which
         }else{
         e = event                    characterCode = e.keyCode
         if (characterCode== 13){
         document.getElementById('mainform:submitForm:search').onclick();
    Regards,
    Jagadeesh
    Edited by: Jagadeesh.Pala on Oct 1, 2007 3:59 AM

  • Using Java Reflection to call a method with int parameter

    Hi,
    Could someone please tell me how can i use the invoke() of the Method class to call an method wiht int parameter? The invoke() takes an array of Object, but I need to pass in an array of int.
    For example I have a setI(int i) in my class.
    Class[] INT_PARAMETER_TYPES = new Class[] {Integer.TYPE };
    Method method = targetClass.getMethod(methodName, INT_PARAMETER_TYPES);
    Object[] args = new Object[] {4}; // won't work, type mismatch
    int[] args = new int[] {4}; // won't work, type mismatch
    method.invoke(target, args);
    thanks for any help.

    Object[] args = new Object[] {4}; // won't work, type
    mismatchShould be:
        Object[] args = new Object[] { new Integer(4) };The relevant part of the JavaDoc for Method.invoke(): "If the corresponding formal parameter has a primitive type, an unwrapping conversion is attempted to convert the object value to a value of a primitive type. If this attempt fails, the invocation throws an IllegalArgumentException. "
    I suppose you could pass in any Number (eg, Double instead of Integer), but that's just speculation.

  • EJB 3.1 @Asynchronous and calling other methods from within

    Hey all,
    I am helping a friend set up a test framework, and I've turned him on to using JEE6 for the task. I am decently familiar with entity beans, session beans, and such. One of the new features is @Asynchronous, allowing a method to be ran on a separate thread. The test framework generally needs to spawn potentially 1000's of threads to simulate multiple users at once. Originally I was doing this using the Executor classes, but I've since learned that for some reason, spawning your own threads within a JEE container is "not allowed" or bad to do. I honestly don't quite know why this is.. from what I've read the main concern is that the container maintains threads and your own threads could mess up the container somehow. I can only guess that this might be possible if your threads use the container services in some way.. but if anyone could enlighten me on the details as to why this is bad, that would be great.
    None the less, EJB 3.1 adds the async capability and I am now looking to use this. From my servlet I use @EJB to access the session bean, and call an async method. My servlet returns right away as it should. From the async method I do some work and using an entity bean store results, so I don't need to return a Future object. In fact, my ejb then makes an HttpClient call to another servlet to notify it that the result is ready.
    My main question though, is if it's ok to call other methods from the async method that are not declared @Asynchronous. I presume it is ok, as the @Asynchronous just enables the container to spawn a thread to execute that method in. But I can't dig up any limitations on the code within an async method.. whether or not it has restrictions on the container services, is there anything wrong with using HttpClient to make a request from the method.. and making calls to helper methods within the bean that are not async.
    Thanks.

    851827 wrote:
    Hey all,.. from what I've read the main concern is that the container maintains threads and your own threads could mess up the container somehow. I can only guess that this might be possible if your threads use the container services in some way.. but if anyone could enlighten me on the details as to why this is bad, that would be great.
    Yes since the EE spec delegated thread management to conatiners, the container might assume that some info is available in the thread context that you may not have made available to your threads.
    Also threading is a technical implementation detail and the drive with the EE spec is that you should concentrate on business requirements and let the container do the plumbing part.
    If you were managing your own threads spawned from EJBs, you'd have to be managing your EJBs' lifecycle as well. This would just add to more plumbing code by the developer and typically requires writting platform specific routines which the containers already do anyway.
    >
    None the less, EJB 3.1 adds the async capability and I am now looking to use this. From my servlet I use @EJB to access the session bean, and call an async method. My servlet returns right away as it should. From the async method I do some work and using an entity bean store results, so I don't need to return a Future object. In fact, my ejb then makes an HttpClient call to another servlet to notify it that the result is ready.
    My main question though, is if it's ok to call other methods from the async method that are not declared @Asynchronous. I presume it is ok, as the @Asynchronous just enables the container to spawn a thread to execute that method in. But I can't dig up any limitations on the code within an async method.. whether or not it has restrictions on the container services, is there anything wrong with using HttpClient to make a request from the method.. and making calls to helper methods within the bean that are not async.
    Thanks.If you want to be asynchronous without caring about a return value then just use MDBs.
    The async methods have no restrictions on container services and there is nothing wrong with calling other non async methods. Once the async method is reached those annotations don't matter anyway (unless if you call thhose methods from a new reference of the EJB that you look up) as they only make sense in a client context.
    Why do you need to make the call to the servlet from the EJB? Makes it difficult to know who is the client here. Better use the Future objects and let the initial caller delegate to the other client components as needed.

  • Getting Bad Type Error when calling a method in the proxy class

    Hi,
    I have generated the proxy classes from wsdl.
    When I am calling the methods in the proxy class from one of external class, I am getting following error.
    Can anyone please help me in resolving this issue.
    javax.xml.ws.soap.SOAPFaultException: org.xml.sax.SAXException: Bad types (interface javax.xml.soap.SOAPElement -> class com.intraware.snetmgr.webservice.data.SubscribeNetObjectReference) Message being parsed:
         at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:197)
         at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:125)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
         at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
         at $Proxy176.find(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:84)
         at $Proxy173.find(Unknown Source)
         at com.xxx.fs.FNServices.findAccountWs(FNServices.java:132)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:92)
         at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:74)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:151)
         at com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl.invoke(EndpointMethodHandlerImpl.java:268)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:866)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:815)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:778)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:680)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:403)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:532)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:253)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140)
         at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:171)
         at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:708)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.wsee.util.ServerSecurityHelper.authenticatedInvoke(ServerSecurityHelper.java:103)
         at weblogic.wsee.jaxws.HttpServletAdapter$3.run(HttpServletAdapter.java:311)
         at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:336)
         at weblogic.wsee.jaxws.JAXWSServlet.doRequest(JAXWSServlet.java:95)
         at weblogic.servlet.http.AbstractAsyncServlet.service(AbstractAsyncServlet.java:99)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Thanks
    Anoop

    Hi Vlad,
    The service has not been changed since i have generated the proxy.
    I tried calling the service from soapUI and I am getting the following error now.
    Request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:uri="uri:webservice.subscribenet.intraware.com" xmlns:uri1="uri:subscribenet.intraware.com">
    <soapenv:Header>
    <uri:SessionHeader>
    <uri:SessionID>hjkashd9sd90809dskjkds090dsj</uri:SessionID>
    </uri:SessionHeader>
    </soapenv:Header>
    <soapenv:Body>
    <uri:Find>
    <uri:SubscribeNetObjectReference>
    <uri1:ID></uri1:ID>
    <uri1:IntrawareID></uri1:IntrawareID>
    <uri1:SharePartnerID></uri1:SharePartnerID>
    </uri:SubscribeNetObjectReference>
    </uri:Find>
    </soapenv:Body>
    </soapenv:Envelope>
    Response:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header/>
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode>soapenv:Server.generalException</faultcode>
    <faultstring>org.xml.sax.SAXException: WSWS3279E: Error: Unable to create JavaBean of type com.intraware.snetmgr.webservice.data.SubscribeNetObjectReference. Missing default constructor? Error was: java.lang.InstantiationException: com.intraware.snetmgr.webservice.data.SubscribeNetObjectReference. Message being parsed:</faultstring>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    Thanks
    Anoop

  • When You Deploy Project If Error Occurs Which Java Classes We Check?

    Hi
    When You Deploy Webdynpro Application in SAP J2ee engine,if error occurs how to correct and which java classes we check in nwds?

    what error you are getting

  • XML Deserialization Error when calling WebService-method

    Hi all,
    when calling a WebService-method from my WebDynpro-application, I get the following error message:
    "Deserializing fails. Nested message: XML Deserialization Error. Can not create instance of class [com.karmann.ApplMan.dto.SoftwareKomponenteDTO] when deserializing XML type [urn:com.karmann.ApplMan.dto][SoftwareKomponenteDTO].."
    SoftwareKomponenteDTO is a class that I have implemented. It implements Serializable and overwrites the methods "equals()" and "hashcode()". It contains members of types long, String and java.sql.Date.
    The method I call needs an argument of type SoftwareKomponenteDTO. Other methods which return something of type SoftwareKomponenteDTO do not make any problems.
    The same error message appears when I test the WebService-method in the WebService-navigator. So I assume that the problem is not the way I call the method from WebDynpro.
    Thanks for help,
    Christoph

    Hi all,
    I found what my problem was. The complex type that I deliver to my method (i.e. SoftwareKomponenteDTO) must have a public constructor without parameters. I think that this is slightly confusing, because in the other direction (method delivers complex type as return value) this is not neccessary. Anyway, my problem's solved now.
    Regards,
    Christoph

Maybe you are looking for

  • T500 Error message from TP on every reboot

    Every time I boot I get a message "The was a problem connecting to the TPM (security device) on this computer..." The message appears at the end of the boot proces after the desktop has loaded and all of my app icons have appeared in the system tray.

  • God example of DMS integration in the SD/MM/PP area??

    Hi! I wonder if anyone has a good example of how to use the DMS object connection to the SAP logistic processes? Is it possible to create a object link and then have this link copied between a material and an order? Please give me some good examples

  • Broadband connection keeps dropping, often without...

    Equipment:  I have an ancient hub (curious-  do we get updates to these or do we just have to make do for years on end?), the first black one which is curved and it has been fine since I got it from a friend some years ago to replace the dinosaur whi

  • Filesharing in AirPort

    Hi All, when I upgraded to AirPort Express I lost connection to other computers in my home network. They are not visible and the alias I used before to connect is not working. The WiFi is working properly when connection to internet. It is the filesh

  • Thousands of vCards after importing from Motorola V3i

    Hi there, I am a new Mac user, so maybe I ask a rather stupid question here... Nevertheless: I hope someone can help. I imported the contacts from my Vodafone V3i via iSync to my new MacBook Pro. They are in the adress book all right. Together with 5