Saving a Class Object to file

Hi guys.
If i have a Class object (an instance of "java.lang.Class"), is it possible to write that object to file so i end up with a .class file somewhere on my computer?
Any help appreciated.
Thanks
-Nonameo-

Hope i didnt cause any conflict here guys.
Just to clear things up:
when i wrote my original request, i hadnt even heard of Serialization so that was not my request. After being told about it, i tried it out but the output file produced didnt work like a normal .class file.
I havent yet gone into researching the byte-code library idea, but it does sound promising.
I think ejp grasped what i was getting at. Sorry if i confused anyone with my request, i didnt realise it could be interpreted in multiple ways.
Thanks again
-Nonameo- (OP)
Message was edited by:
Nonameo

Similar Messages

  • Problem in saving entire class in a file

    I have a program which saves entire classes in a file:
    try
    FileInputStream tiedosto =
    new FileInputStream(fn);
    ObjectInputStream syote =
    new ObjectInputStream(tiedosto);
    l = (Lokidata)syote.readObject();
    syote.close();
    catch (Exception e)
    JOptionPane.showMessageDialog(this, "ei onnistu "+fn);
    System.err.println(e);
    this works fine until i change to different java runtime version. If I save in runtime version 6-5, I cannot read
    the class with runtime version 6-6. The same with runtime 6-3. These I have tested and it seems that I have to read with the same runtime version which I have used in saving.
    Can I overcome this somehow? How can i determine in NetBeans which jre NetBeans uses?
    Urpo Pietilä
    [email protected]

    Thank you for good advice. After reading the article I decided to save my class as text file and convert it back to data after read the text.
    Netbeans did not warn about missing import although I had the class implemented as serializable.
    Urpo

  • Converting a class object back to a .class file

    Hi,
    How can i convert a class object back to a .class file ? Thanks

    any pointers on how to do it then ? i don't have
    access to the native codeIf I have understood you correctly, you have native code that generates bytecode. Currently you load the class this bytecode represents right into the classloader, but you want to save it to disk as a .class file. Right?
    If so, you just have to get hold of that bytecode before it "disappears" into the classloader, and save it to disk. How you can best do this depends on exactly how you communicate with that native code.
    If I have misunderstood your problem (and that's not unlikely), please try to be clearer.

  • How to create custom attributes & object classes through ldif files in OID

    Hi,
    I have to create 4 attributes and one object class(custom) in OID. I want to creae these attributes and object class through LDIF file.
    I tried creating an attribute through this command
    ldapadd -p 389 -h localhost -D cn=orcladmin -w password -f D:/newattr.ldif
    this ldif file contains inf. for creating a new attributes:
    dn: cn=subschemasubentry
    changetype: add
    add: attributetypes
    attributetypes: ( 1.2.3.4.5.6.10 NAME "xsUserType_new" DESC "User Type Definition" EQUALITY caseIgnoreMatch
    SYNTAX "1.3.6.1.4.1.1466.115.121.1.15" )
    I am getting error: Object class violation
    Failed to find add in mandatory or optional attribute list.
    Please help to find where I am going wrong...
    Thanks.

    Hi Ajay,
    Thank you for the help. Now i am able to create both attributes and object classes in OID through Ldif files.
    I was getting constraint violation error because (I think) I was not giving proper naming convection for attributes and object classes. For OID, there are certain Ldap naming conventions. They are as follows:
    # X below is the enterprise number assigned by IANA
    1.3.6.1.4.1.X.1 - assign to SNMP objects
    1.3.6.1.4.1.X.2 - assign to LDAP objects
    1.3.6.1.4.1.X.2.1 - assign to LDAP syntaxes
    1.3.6.1.4.1.X.2.2 - assign to LDAP matchingrules
    1.3.6.1.4.1.X.2.3 - assign to LDAP attributes
    1.3.6.1.4.1.X.2.4 - assign to LDAP objectclasses
    1.3.6.1.4.1.X.2.5 - assign to LDAP supported features
    1.3.6.1.4.1.X.2.9 - assign to LDAP protocol mechanisms
    1.3.6.1.4.1.X.2.10 - assign to LDAP controls
    1.3.6.1.4.1.X.2.11 - assign to LDAP extended operations
    By using these conventions for attributes and object class, I did got any error and they were created in OID.
    Thanks a zillion.
    Kalpana.

  • Class object saving performce issue - (Workflow activity)

    Hi,
    I created a custom activity with a class object. If I call WorkflowDesigner.Save(filename) method, it takes a lot of time for saving class object.
    public class Abc: AsyncCodeActivity
            public Class1 Class1Obj
                get
                    return class1Obj;
                set
                    class1Obj= value;

    Hi,
    where are your external services located   If they are in the same assembly as the workflow (and this goes for custom activities as well), you can have all sorts of problems because you (well, VS) are constantly reloading assemblies and they can
    get out of synch.
    For more information, please refer to the discussion:
    https://social.msdn.microsoft.com/Forums/en-US/cce06d6f-4e7e-4294-9a14-d17e8addea45/workflow-designer-very-slow?forum=windowsworkflowfoundation
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Create Class objects from an Array of File Objects

    Hi There,
    I'm having extreme difficulty in trying to convert an array of file objects to Class objects. My problem is as follows: I'm using Jfilechooser to select a directory and get an array of files of which are all .class files. I want to create Class objects from these .class files. Therefore, i can extract all the constructor, method and field information. I eventually want this class information to display in a JTree. Very similar to the explorer used in Netbeans. I've already created some code below, but it seems to be throwing a NoSuchMethodError exception. Can anyone please help??
    Thanks in advance,
    Vikash
    /* the following is the class im using */
    class FileClassLoader extends ClassLoader {
    private File file;
    public FileClassLoader (File ff) {
    this.file = ff;
    protected synchronized Class loadClass() throws ClassNotFoundException {
    Class c = null;
    try {
    // Get size of class file
    int size = (int)file.length();
    // Reserve space to read
    byte buff[] = new byte[size];
    // Get stream to read from
    FileInputStream fis = new FileInputStream(file);
    DataInputStream dis = new DataInputStream (fis);
    // Read in data
    dis.readFully (buff);
    // close stream
    dis.close();
    // get class name and remove ".class"
    String classname = null;
    String filename = file.getName();
    int i = filename.lastIndexOf('.');
    if(i>0 && i<filename.length()-1) {
    classname = filename.substring(0,i);
    // create class object from bytes
    c = defineClass (classname, buff, 0, buff.length);
    resolveClass (c);
    } catch (java.io.IOException e) {
    e.printStackTrace();
    return c;
    } // end of method loadClass
    } // end of class FileClassLoader
    /* The above class is used in the following button action in my gui */
    /* At the moment im trying to output the data to standard output */
    private void SelectPackage_but2ActionPerformed(java.awt.event.ActionEvent evt) {
    final JFileChooser f = new JFileChooser();
    f.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    int rVal = f.showOpenDialog(Remedy.this);
    // selects directory
    File dir = f.getSelectedFile();
    // gets a list of files within the directory
    File[] allfiles = dir.listFiles();
    // for loop to filter out all the .class files
    for (int k=0; k < allfiles.length; k++) {
    if (allfiles[k].getName().endsWith(".class")) {
    try {
    System.out.println("File name: " + allfiles[k].getName()); // used for debugging
    FileClassLoader loader = new FileClassLoader(allfiles[k]);
    Class cl = loader.loadClass();
    //Class cl = null;
    Class[] interfaces = cl.getInterfaces();
    java.lang.reflect.Method[] methods = cl.getDeclaredMethods();
    java.lang.reflect.Field[] fields = cl.getDeclaredFields();
    System.out.println("Class Name: " + cl.getName());
    //print out methods
    for (int m=0; m < methods.length; m++) {
    System.out.println("Method: " + methods[m].getName());
    // print out fields
    for (int fld=0; fld < fields.length; fld++) {
    System.out.println("Field: " + fields[fld].getName());
    } catch (Exception e) {
    e.printStackTrace();
    } // end of if loop
    } // end of for loop
    packageName2.setText(dir.getPath());
    }

    It's throwing the exeption on the line:
    FileClassLoader loader = new FileClassLoader(allfiles[k]);
    I'm sure its something to do with the extended class i've created. but i cant seem to figure it out..
    Thanks if you can figure it out

  • Manipulate a object serialized file when the .class file is missing

    I want to know if it is possible to recovery the object when its class file is missing! I guess it needs to manipulate the file and extract the values and ask user to name the values, after that, create a new class file for future use. However, I don't know how to manipulate the object serialized file. I really appreciate any hints you guys can give

    I suppose if you created the class file, with the same name, package, and unique serial ID, fields, etc, it can be done.
    Another option is to not use serialization if you are just trying to recover the data. Again you would need to know what the datatypes of the fields are to know what it is you are trying to read, how to parse serialized data, etc. Some Objects are easy to read, like Strings. The more complicated ones are the simple datatypes.

  • How to read appended objects from file with ObjectInputStream?

    Hi to everyone. I'm new to Java so my question may look really stupid to most of you but I couldn't fined a solution by myself... I wanted to make an application, something like address book that is storing information about different people. So I decided to make a class that will hold the information for each person (for example: nickname, name, e-mail, web address and so on), then using the ObjectOutputStream the information will be save to a file. If I want to add a new record for a new person I'll simply append it to the already existing file. So far so good but soon I discovered that I can not read the appended objects using ObjectInputStream.
    What I mean is that if I create new file and then in one session save several objects to it using ObjectOutputStream they all will be read with no problem by ObjectInputStream. But after that if in a new session I append new objects they won't be read. The ObjectInputStream will read the objects from the first session after that IOException will be generated and the reading will stop just before the appended objects from the second session.
    The following is just a simple test it's not actual code from the program I was talking about. Instead of objects containing different kind of information I'm using only strings here. To use the program use as arguments in the console "w" to create new file followed by the file name and the strings you want save to the file (as objects). Example: "+w TestFile.obj Thats Just A Test+". Then to read it use "r" (for reading), followed by the file name. Example "+r TestFile.obj+". As a result you'll see that all the strings that are saved in the file can be successfully read back. Then do the same: "+w TestFile.obj Thats Second Test+" and then read again "+r TestFile.obj+". What will happen is that the strings only from the first sessions will be read and the ones from the second session will not.
    I am sorry for making this that long but I couldn't explain it more simple. If someone can give me a solution I'll be happy to hear it! ^.^ I'll also be glad if someone propose different approach of the problem! Here is the code:
    import java.io.*;
    class Fio
         public static void main(String[] args)
              try
                   if (args[0].equals("w"))
                        FileOutputStream fos = new FileOutputStream(args[1], true);
                        ObjectOutputStream oos = new ObjectOutputStream(fos);
                        for (int i = 2; i < args.length ; i++)
                             oos.writeObject(args);
                        fos.close();
                   else if (args[0].equals("r"))
                        FileInputStream fis = new FileInputStream(args[1]);
                        ObjectInputStream ois = new ObjectInputStream(fis);
                        for (int i = 0; i < fis.available(); i++)
                             System.out.println((String)ois.readObject());
                        fis.close();
                   else
                        System.out.println("Wrong args!");
              catch (IndexOutOfBoundsException exc)
                   System.out.println("You must use \"w\" or \"r\" followed by the file name as args!");
              catch (IOException exc)
                   System.out.println("I/O exception appeard!");
              catch (ClassNotFoundException exc)
                   System.out.println("Can not find the needed class");

    How to read appended objects from file with ObjectInputStream? The short answer is you can't.
    The long answer is you can if you put some work into it. The general outline would be to create a file with a format that will allow the storage of multiple streams within it. If you use a RandomAccessFile, you can create a header containing the length. If you use streams, you'll have to use a block protocol. The reason for this is that I don't think ObjectInputStream is guaranteed to read the same number of bytes ObjectOutputStream writes to it (e.g., it could skip ending padding or such).
    Next, you'll need to create an object that can return more InputStream objects, one per stream written to the file.
    Not trivial, but that's how you'd do it.

  • Regarding persistent classes  & objects

    Hi all,
    I am new to abap objects, please  give me some simple links of persistent classes & object.
    Let me know the difference between persistent classes & other simple classes..
    I ensure you for points!
    cheers.

    Hi,
    Transient and persistent data
    In principle, ABAP programs work with local program data, which resides in the program’s internal session. This data lives only as long as its context – that is, as long as its associated procedure (for local procedure data); its object (for attributes of classes); or its program (for global program data). This data is known as transient. Data that can be preserved beyond the runtime of the program is known as persistent. In SAP Systems, persistent data usually occurs as the content of database tables, but also as the content of files on application and presentation servers.
    To work with persistent data, the system has to load it into transient data objects belonging to the ABAP program while that program is being executed. Then, after processing has been completed, it stores the data in a persistent form again. During this time, the content of the data exists twice: once in the ABAP program (transiently), and once in the appropriate storage medium (persistently). A typical process would be reading data from a database table using the SELECT statement into a transient work area; modifying the work area; and then updating the database table (using UPDATE). In such cases, the contents of transient and persistent data are different in the interim during this process.
    Data in object-oriented programming
    In an ideal object-oriented application, data occurs only as the attributes of objects (if we ignore the local data in methods for the time being). Objects are an aggregation of functions (in methods) and data (in attributes). The description of an object – that is, the class – occurs persistently as a piece of source code, but its attributes exist only as long as the object. However, an object in ABAP Objects is transient in principle. It exists in the internal program session only from the time it is generated (using CREATE OBJECT) until it is deleted by the Garbage Collector. Therefore, to work with persistent data in objects, you must program access to where those objects are stored within the methods of the class.
    However, in completely object-oriented business application programming, then it is pointless simply to transfer the classical separation of data and functions to the methods – that is, to work with objects, but use procedural programming within the objects themselves. Ideally you could save the encapsulation of data and functions persistently within the object instead. A program could then leave an object in a certain state and a second program could continue working on the object in that state. Classes of objects are already persistent anyway, but you need some way of saving the attributes of an object persistently and then make reference to the appropriate class. The Persistence Service allows you to do exactly that.
    Persistent Classes
    To use the Persistence Service for objects, the classes of these objects must be created as persistent classes in the Class Builder. The term persistent class does not imply that a class is persistent. (As a template for objects, every class is persistent). Rather, it means that the objects of that class and their state are managed by the Persistence Service. For example, the objects of these classes are instantiated in the ABAP program with a method of the Persistence Service, which ensures that the initialization is correct (not with the usual CREATE OBJECT statement). When the Class Builder creates a persistent class, it automatically generates an associated class, known as the class actor or class agent, whose methods manage the objects of persistent classes. As well as their identity, persistent classes can contain key attributes, which allow the Persistence Service to ensure that the content of each persistent object is unique.
    Managed Objects
    The objects of persistent classes are managed by the Persistence Service. This means, among other things, that these objects are instantiated with a method of the class actor, not with the CREATE OBJECT statement. These objects are known as managed objects. Objects managed by the Persistence Service can be either persistent or transient.
    Persistent objects must be managed by the Persistence Service. The Persistence Service connects the object and the database.
    Transient objects of persistent classes are also managed by the Persistence Service. For example, the Persistence Service ensures that the object is unique within a program (by checking its key attributes), but not for a connection to the database.
    Plz refer to this link:
    http://help.sap.com/saphelp_nw70/helpdata/en/f5/a3682ebc6911d4b2e80050dadfb92b/content.htm
    Thanks,
    Samantak.
    Rewards points for useful answers.

  • Instantiation of a class from a file name

    Basically here's how it goes:
    I have a FilenameFilter looking into a folder for files ending on .java (java code). It stores them in a file array. I want to turn that file into a class so I can get some info from it.
                    Class c= (Class)list[j].getClass();
                    Page i = (Page)c.newInstance();
                    System.out.println("Creating "+ i.getName()+" entry on map");
                    this.putPageInMap(i);Where list is the list with the file names, Page is the Class/Object for the code and putPageInMap(i) is a method to put info from the "Page" in a map. This last method uses get methods from the Object to get the values to map.
    An Idea?
    Here's the full code just in case:
    * WWWMap.java
    * Created on February 28, 2005, 9:32 AM
    package WWW;
    import java.util.*;
    import java.io.*;
    * @author PRSJJOZ
    public class WWWMap {
        /** Creates a new instance of WWWMap */
        private Properties page= new Properties();
        private Properties SS= new Properties();
        private Properties PageNames= new Properties();
        public WWWMap() {
        public boolean pageInMap(String p)
            if(page.get(p)==null)
                return false;
            return true;
        public boolean SSInMap(String p)
            if(SS.get(p)==null)
                return false;
            return true;
        public void putPageInMap(Page p)
            System.out.println("Placing "+ p.getName() +" into map, (Values: "+p.getName()+"\t"+p.getEd()+", "+
                    p.getClass().toString());
            page.put(p.getName()+"\t"+p.getEd(),
                    p.getClass().toString());
        public Object getPageFromMap(String p)
            if(this.pageInMap(p))
                return page.get(p);
            if(this.SSInMap(p))
                return SS.get(p);
            else
                return null;
        public void saveMap()
            System.out.println("Saving...");
            try{
            FileOutputStream out = new FileOutputStream("E:/WWW/Decks/Map.txt");
            page.store(out,"Page Map");
            System.out.println("Map saved to E:/WWW/Decks/Map.txt");
            catch (IOException e1) {
            System.out.println("IO problem: "+ e1);
                e1.printStackTrace();
        public void loadMap()
            System.out.println("Loading...");
            try{
            FileInputStream in = new FileInputStream("E:/WWW/Decks/Map.txt");
            page.load(in);
            System.out.println("Map loaded");
            catch (IOException e1) {
            System.out.println("IO problem: "+ e1);
            e1.printStackTrace();}
        public void Iterate()
            System.out.println("Iterating page map...");
            int size = page.size();
            Iterator keys = page.entrySet().iterator();
            for (int i=0;i<size;i++)
                Map.Entry entry = (Map.Entry) keys.next();
                Object key = entry.getKey();
                Object value = entry.getValue();
                System.out.println("Key: "+ key.toString()+", Value: "+ value.toString());
        public void fillMap()
            System.out.println("Filling Map");
            File directory = new File("E:/WWW/Data/Pages");
            File[] list = directory.listFiles(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.endsWith(".java");
            System.out.println(list.length);
            for(int i=0;i<list.length;i++)
                System.out.println(list.getName());
    for(int j=0;j<list.length;j++)
    /*try{
    Class c= (Class)list[j].getName().getClass();
    System.out.println(.getClass());
    Page i = (Page)c.newInstance();
    System.out.println("Creating "+ i.getName()+" entry on map");
    this.putPageInMap(i);
    catch (InstantiationException e) {
    System.out.println("IO problem: "+ e);
    e.printStackTrace();
    catch (IllegalAccessException e1)
    System.out.println("IO problem: "+ e1);
    e1.printStackTrace();
    public static void main(String args[]) {
    WWWMap map = new WWWMap();
    map.fillMap();
    //map.loadMap();
    /*Punch p = new Punch();
    map.putPageInMap(p);
    map.saveMap();
    map.loadMap();
    map.Iterate();*/

    Runtime.exec the compiler on that .java file (you might have to parse for the package structure first). Then Class.forName() it. Then do whatever you like with it. Or, depending on the info you need, simply parse the source or the bytecode.

  • Saving ALV Grid to Local File issue - Missing half of the report

    Hi Experts, Good Day.
    I have developed an ALV Grid report using class CL_SALV_TABLE which displays 200 Columns and 100+ rows/records. It is displaying well, but when I am saving the output into local file (any type) there only 98 columns are downloading and remaining all the columns are missing.
    I would like to know whether there is any restriction for number of columns or what might the problem for it. How can I download all the columns into local file.
    Thanks in Adv.
    Vijay

    Hi,
    Thanks for your response. Even though there are multiple ways to send data to local file I believe all three are same. And even I am facing same issue all the ways. Only 98 Columns data is getting downloaded into Files (it might be .txt, .xls, etc.).
    After downloading first 98 Columns, I am hiding the downloaded columns and again I am downloading remaining columns. Then I am merging in the Excel file. This is very complicated for the End-User. So, please help me out.
    I have used only following methods for displaying ALV.
    For initial object/instance:
    CL_SALV_TABLE=>FACTORY,
    For ALV functions:
    CL_SAVL_TABLE->GET_FUNCTIONS,
    CL_SALV_FUNCTIONS_LIST->SET_ALL,
    For Column heading and Optimized width:
    CL_SALV_TABLE->GET_COLUMNS,
    CL_SALV_COLUMNS_TABLE->SET_OPTIMIZE,
    CL_SALV_COLUMNS_TABLE->GET_COLUMN,
    CL_SALV_COLUMN->SET_SHORT_TEXT,
    To display grid:
    CL_SALV_TABLE->DISPALY.
    - Thanks
    Vijay

  • Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1

    I am trying to build a component which has the ability to instantiate and execute
    an known EJB method on the fly.
    I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
    I know that the EJB I am trying to invoke is deployed and available on the server,
    as I can see it in the console, I also seen to have been able to get the remote
    interface of the object, my problem occurs when I try and access the class object
    so I can perform a create on the object and then execute my method
    The code I have written is below:
    private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
    throws Exception {
         String homeCreate = "create";
         Class []homeCreateParam = { };
         Object []homeCreateParamValues = {};           
    try {  
    //This call seems to work and doesn't throw an exception     
    Object home = pCtx.lookup(pJNDIName);
    //However this call throws a java.lang.ClassNotFoundException
    Class homeBean = Class.forName(pHomeBean);
    Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    } catch (NamingException ne) {             
    logStandardErrorMessage("The client was unable to lookup the EJBHome.
    Please make sure ");
    logStandardErrorMessage("that you have deployed the ejb with the JNDI
    name "+pJNDIName+" on the WebLogic server ");
    throw ne;
    } catch (Exception e) {
    logStandardErrorMessage(e.toString());
    throw e;     
    Any advice would be really appreciated, I'm fast running out of ideas, I suspect
    it has something to do with the class loader but I'm not sure how to resolve it
    Regards
    Jo Corless

    Hello Joanne,
    Congratulations! I'm very happy that you've managed to fix your problem. It's
    always essential to understand how to package applications when deploying on BEA
    WebLogic. Usually, by throwing everything into an EAR file solves just about all
    the class loader problems. :-) Let us know if you have any further problems that
    we can assist you with.
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Joanne Corless" <[email protected]> wrote:
    >
    >
    I've fixed it!!!!!!!!
    Thanks to everyone who gave me help!!!!
    The class loader was the culprit which is what I suspected all along.
    As soon
    as I put the 2 jar files I was using into an EAR file the problem went
    away!!!!!
    Thanks again
    Jo Corless
    "Ryan LeCompte" <[email protected]> wrote:
    Hello Joanne,
    As Mr. Woollen mentioned, I also believe it's a problem with the class
    loader.
    You need to be careful how you arrange your EJBs, because WebLogic has
    a specific
    method in which it loads classes in an EAR, JAR, and WAR file(s). Please
    refer
    to http://dev2dev.bea.com/articles/musser.jsp for more information about
    BEA WebLogic
    class loading mechanisms and caveats. Also, try printing out the various
    methods
    that are available on the object that was returned to you via reflection.
    For
    example, use the getMethods() method, which returns an array of Method
    objects
    that you can subsequently cycle through and print out the various method
    names.
    This way you can discover if the class found/returned to you is indeed
    the one
    you intend to locate.
    Hope this helps,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    Rob Woollen <[email protected]> wrote:
    I believe the issue is the home interface class for this EJB is not
    available in the class loader which is doing the reflection.
    If you do:
    getClass().getClassLoader().loadClass(homeInterfaceClassName)
    I suspect it will fail. Reflection still requires that the class be
    loadable.
    -- Rob
    Joanne Corless wrote:
    Hi Slava,
    If I make my code look like you describe below I get a compliationerror telling
    me that
    home.getMethod() is not recognised (no such method)
    If I change it slightly and use
    Method homeCreateMethod =
    home.getClass().getMethod(homeCreate,homeCreateParam);
    The code will compile OK but when executed it still throws a NoSuchMethodException
    Any ideas ?
    Thanks for your help so far
    Regards
    Jo Corless
    Your code should look like
    Object home = pCtx.lookup(pJNDIName);
    Method homeCreateMethod =
    home.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    Regards,
    Slava Imeshev
    "Joanne Corless" <[email protected]> wrote in message
    news:[email protected]...
    Hi Ryan,
    I also wanted to mention that if you do a "header search" in this
    particular
    newsgroup
    with the search query as "reflection", you will see many previousmessages
    regarding
    reflection and EJBs. I believe you could learn a lot from thedifficulties
    that
    others have faced and solved.I tried that and although there was a number of similar cases noneof them
    actually
    seem to fix my issue. Thanks for the suggestion though
    Are the EJBs that you are trying to access accessible via your
    system
    classpath?
    Try to avoid having them accessible via the main system classpath,and
    only bundle
    them in your appropriate EJB jar files (contained in an EAR file,for
    example).Maybe I should have laid the problem out a little clearer.
    I have a number of EJB's bundled up in a JAR file which is hot deployedto
    the
    server. Within this first JAR file is an EJB (SSB) component that
    needs
    to
    be
    able to invoke a known method on another EJB. This second EJB may
    or
    may
    not be
    within the first JAR file but it also will be hot deployed.
    The component trying to invoke the method on the 2nd EJB has to
    be
    able to
    create
    an instance of the 2nd EJB without actually knowing anything bar
    a
    JNDI
    Name which
    is passed in at runtime.
    I can get as far as doing the
    Object home = pCtx.lookup(pJNDIName);
    This returned a class with the name
    "com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
    Impl_WLStub"
    My problem seems to occur when I try and invoke the create method
    Method homeCreate = home.getClass().getMethod("create", new Class[0]);
    My code throws a java.lang.NoSuchMethodException at this point so
    I
    am
    unable
    to progress to the next step of :
    Object bean = homeCreate.invoke(home, null);
    So I can return the instantiated bean back to the calling client.
    Why am I getting the NoSuchMethodException, is is because I am gettinga
    stub
    back rather than the home interface and if so how do I get the truehome
    interface
    from the bean
    Thanks in advance
    Jo Corless

  • What is the advantage of using IB to create XIBs/Class Objects over coding?

    Hi all,
    I hoping someone can provide me some pros and cons as to when I should use IB to create XIBs and/or class objects as opposed to directly coding them.
    For example, if I choose Apple's Template for creating a Navigation Based Application (cocoa touch), the project creates two NIB files - MainMenu and RootViewController.
    However looking at one of demo apps SimpleDrillDown, it does not have a RootViewController XIB and instead creates it via code.
    Another example from the same two apps is that the template generates a "Navigation Controller" class object in the Mainmenu.xib. SimpleDrillDown does not bother with this in the XIB, but uses code to generate the controller:
    - (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Create the navigation and view controllers
    RootViewController *rootViewController = [[RootViewController alloc] init];
    UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
    self.navigationController = aNavigationController;
    [aNavigationController release];
    [rootViewController release];
    // Configure and show the window
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    as opposed to the template which only needs this:
    - (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Configure and show the window
    // Navigation Controller is defined in MainWindow.xib
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    So what are the advantages of each approach. Why does apple suggest one approach and yet all its demos use another.
    Any thoughts, answers gratefully received.
    TIA, Michael.

    You can do whatever you're comfortable with, but most of the best Cocoa programmers--the ones on the Mac, I mean--recommend putting everything you can into Interface Builder.
    It's a little like the difference between writing a program to do a bunch of financial calculations and using a spreadsheet. Yeah, the program can do everything the spreadsheet can--and more besides--but you'll find it far easier to create, use and modify the spreadsheet.
    Interface Builder takes away a lot of completely meaningless choices ("What order should I create the objects in? How should I name the variables? How should I create their frames? What order should I set the attributes in?"), leaving you with an interface optimized for creating and arranging objects, and allowing your code to focus on what you really do need to think about--your application's logic.
    (By the way--part of the reason Apple's demos don't all use Interface Builder is that the very first SDK releases didn't have it. Back then, you had to create all your views programatically. Believe me, I have no wish to go back to setting autoresize masks manually. Now get off my lawn, whippersnapper.)

  • Net.sf.jasperreports.engine.JRException: Error loading object from file : C

    I started using JasperReports for my web application report generation. I'm using JSPs for web development.
    I created a .jrxml file using iReport and used the following code to generate the report.
    try {
              JasperDesign jasperDesign = JRXmlLoader.load("C:\\tomcat\\webapps\\web\\JSP\\reports\\samples\\pmm-final.jrxml");
              JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    // Second, create a map of parameters to pass to the report.
              Map parameters = new HashMap();
              parameters.put("Title", "JasperReport");
    // Third, get a database connection
              Connection conn = null;
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              conn=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:/tomcat/webapps/db1/db1.mdb");
    // Fourth, create JasperPrint using fillReport() method
              JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
                                  parameters, conn);
    // You can use JasperPrint to create PDF
              //JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\tomcat\\webapps\\web\\JSP\\reports\\TestReport.pdf");
              JasperExportManager.exportReportToHtmlFile(jasperPrint, "C:\\tomcat\\webapps\\web\\JSP\\reports\\TestPMM.html");
              JRXlsExporter exporter = new JRXlsExporter();
              exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
              exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "C:\\tomcat\\webapps\\web\\JSP\\reports\\TestPMM.xls");
              exporter.exportReport();
    // Or to view report in the JasperViewer
              //JasperViewer.viewReport(jasperPrint);
    } catch (JRException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    } catch (SQLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    The above pmm-final.jrxml uses a subreport 'top.jasper'. Error being thrown while loading top.jasper file. Error is as follows.
    java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; lo
    cal class incompatible: stream classdesc serialVersionUID = 604, local class ser
    ialVersionUID = 606
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:86
    at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLo
    ader.java:236)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
    port.java:295)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
    340)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBand(JRVert
    icalFiller.java:1224)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVe
    rticalFiller.java:353)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
    erticalFiller.java:205)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
    alFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    613)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    483)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:77
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
    nager.java:248)
    at org.apache.jsp.JSP.UserGuide_jsp._jspService(org.apache.jsp.JSP.UserG
    uide_jsp:74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:325)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:214)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:675)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    NESTED BY :
    java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; lo
    cal class incompatible: stream classdesc serialVersionUID = 604, local class ser
    ialVersionUID = 606
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:86
    at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLo
    ader.java:236)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
    port.java:295)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
    340)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBand(JRVert
    icalFiller.java:1224)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVe
    rticalFiller.java:353)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
    erticalFiller.java:205)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
    alFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    613)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    483)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:77
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
    nager.java:248)
    at org.apache.jsp.JSP.UserGuide_jsp._jspService(org.apache.jsp.JSP.UserG
    uide_jsp:74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:325)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:214)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:675)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    NESTED BY :
    net.sf.jasperreports.engine.JRException: Error loading object from file : C:\tom
    cat\webapps\web\JSP\reports\samples\top.jasper
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:90
    at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLo
    ader.java:236)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
    port.java:295)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
    340)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBand(JRVert
    icalFiller.java:1224)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVe
    rticalFiller.java:353)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
    erticalFiller.java:205)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
    alFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    613)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    483)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:77
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
    nager.java:248)
    at org.apache.jsp.JSP.UserGuide_jsp._jspService(org.apache.jsp.JSP.UserG
    uide_jsp:74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:325)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:214)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:675)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBas
    eReport; local class incompatible: stream classdesc serialVersionUID = 604, loca
    l class serialVersionUID = 606
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:86
    ... 33 more
    Anyone pls help. It's bit urgent. Thanks.

    I was using iReport v0.5.0 and it uses jasperreports-0.6.7.jar (v0.6.7) of
    JasperReports. I compiled and i deployed my application in BEA weblogic server. I got the error listed below. Only after i saw your
    response explaining that iReport was the issue, i checked the iReport lib directory and found this version of jasperreport jar.
    iReport creates a java source file which is used to a jasper file.
    iReport will link in the v0.6.7 version of jasperReports. When you
    deploy your web application it will recognize this version through the compiled jasper file and give you the InvalidClassException, even
    though you only have one jasperReport jar deployed with your war file.
    The way i fixed this problem was to create my web application with the
    jasperreport jar comes with iReport.
    Thanks for mentioning iReport.
    Christopher
    Error:
    Caused by: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBas
    eReport; local class incompatible: stream classdesc serialVersionUID = 607, local class serialVersionUID = 10002
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:463)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    ...

  • How to automate the creation of Function Module & Class Object (SE24)

    Experts,
    I have the requirement to automate the creation of any type of programs: ie function module (like how we normally create in SE37 together with the parameters), class object (like how we normally create in SE24 together with attribute & method), normal report (like how we did in SE38), module pool and so on.
    For example. I backuped my program into a flat file (the entire source code in txt formal or HTML) through a download program and I need to upload back this flat file into another installation of SAP.
    Does SAP provide any predefined FM to cater for the above cases or better still, does anyone know of any upload program which I can use for the above requirement.
    Thanks in advance.

    Hi Kris, I can't use the transport system as these are 2 separate SAP installation in a different place. The requirement came in the form of creation of program to be able to generate FM/Class/Report on the go.

Maybe you are looking for

  • In Mail 7.3 on my Retina MacBook Pro on OS 10.9.4, how can I type from the keyboard into a mail message using the Apple Symbols font?

    In Mail 7.3 on my Retina MacBook Pro on OS 10.9.4, how can I type from the keyboard into a mail message using the Apple Symbols font? When I select the Apple Symbols font from the list accessed from under Format/"Show fonts"/collection-all fonts/Appl

  • Thumbnail with dynamic images

    I'm trying to create a thumbnail object for an HLIST, the data for the thumbnail is a bytearray containing an image in PNG format. The data comes from a database in an AMF object via FDS. I can see the data in the debugger, and it is not null, but I'

  • Planned Orders -Order level & Order path fields

    Dear all, In Planned Orders , in the components tab , the following fields are assigned/populated with some values by the system. Order level Order path Assy Order Level  Assy Order path Please clarify , on what basis or what is the logic behind this

  • JAX-WS PL/SQL  Web Service with JDeveloper (Weblogic problem)

    Hello, does anyone know how to create a JAX-WS webservice based on a pl-sql package using JDeveloper? Maybe it is possible with a newer version of JDeveloper 11.1.2.3, currently I'm using 11.1.1.6 which only offers a JAX-RPC for PlSql Web services. I

  • Flex RFC webservice

    Here's where I am: 1. Created a WS from BAPI_PERSDATA_GETLIST. Tested with WSADMIN. 2. Imported WSDL into Flex Builder 3. Trying to use this WS to create a simple FLEX application but not able to get it to work. Used the Introspection method and the