Example of Java code to publish to Flex?

I have Tomcat talking to Flex using BlazeDS, but the conversation is one way.  Flex has to initialize it.
I want to be able to publish to Flex from Java (in Tomcat).  There are nice examples of the Flex code needed to catch this, and how to subscribe and all, but I cannot find any Java snippets that show how one initiates this conversation on that end.
Can anyone point me at some sample code for this?
Thanks!

Well, you are using Flex to talk to BlazeDS that is deployed on Tomcat. What version of BlazeDS are you using?
Can you elaborate more on "Flex has to initalize it"? You have a Flex client, so you need to register interest (subscribe) to messaging destination from Flex.
If you are asking:
How do I push messages from the server (Java) to the Flex then take a look: help.adobe.com/en_US/dataservicesjee/4.6/Developing/WS9d22440892c78ffa-3a437432122a8558cd f-8000Update.html.
If you are asking how do I setup subscription from a Java, then BlazeDS does not support it (unless ofcourse you are using a JMS destination -- see documentation for how to that). The latest release of Data Services v4.6, ships with various remoting and messaging clients in Java, Andriod, iOS, HTML5/JS and lots of other features, that allow you to do this.
Can you clarify what exactly you need? Hope that helps.
Rohit

Similar Messages

  • Best practice of OSB logging Report handling or java code using publish

    Hi all,
    I want to do common error handling of OSB I did two implementations as below just want to know which one is the best practice.
    1. By using the custom report handler --> When ever we want to log we will use the report action of OSB which will call the Custom java class which
    Will log the data in to DB.
    2. By using plain java class --> creating a java class publish to the proxy which will call this java class and do the logging.
    Which is the best practice and pros and cons.
    Thanks
    Phani

    Hi Anuj,
    Thanks for the links, they have been helpful.
    I understand now that OSR is only meant to contain only Proxy services. The synch facility is between OSR and OSB so that in case when you are not using OER, you can publish Proxy services to OSR from OSB. What I didn't understand was why there was a option to publish a Proxy service back to OSB and why it ended up as a Business service. From the link you provided, it mentioned that this case is for multi-domain OSBs, where one OSB wants to use the other OSB's service. It is clear now.
    Some more questions:
    1) In the design-time, in OER no Endpoints are generated for Proxy services. Then how do we publish our design-time services to OSR for testing purposes? What is the correct way of doing this?
    Thanks,
    Umar

  • A Toplink Java code example in Jdev 10.1.2

    Hello every body
    I have just begun using Toplink 10g in Jdev 10.1.2, and I want examples of Java code to insert, edit and show information from struts application whose model is Toplink.
    Thanks

    If you are using toplink 9045 which ships with Jdev 1012, and just starting out then you might consider using Jdev1013 along with toplink 1013 since there is some measurable difference between the two releases.
    Information about toplink and examples.
    http://www.oracle.com/technology/products/ias/toplink/examples/index.html
    http://www.oracle.com/technology/products/ias/toplink/technical/index.html

  • Text formatted like Java code

    I was going to put some examples of java code on a website that I'm currently building, what is the easiest way to format the HTML to look like some of the code examples used in these forums? Could I do it with a stylesheet or XML or would I have to do something really complicated?

    Just use normal html: heres a template:-
    <html>
    <title>* Your title *</title><head><h4>AProgram.java</h4><hr></head
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <body bgcolor='white'>
    <table border=0 cellPadding=2 cellSpacing=0 width="100%">
    <TR><td width="8%"></td>
    <td width=80%></td><td></td></tr>
    <tr></td><td><td><font face='Courier' size='3' color='black'>
    public class AProgram {
    </body>
    </head>
    Don't use the <pre> tag as cuases the text to be unusually spaced or to come out tiny for those using resolutions above 800 x 600 and you'll need to hand code certain things eg;-
         space = & nbsp ; // close the spaces
         left tag '<' = & lt ; // close the spaces
         right tag '>' = & gt ; // close the spaces

  • Sample JAVA Mobile Server Publish code, and technical questions

    Dear Oracle technical representative, or user:
    I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
    With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
    I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
         1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
         2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
    Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
    if you are in a position to do so.
    The other files that follow the Publish.java code are
         1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
         2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
         3. Webtogo.ora
         4. tnsnames.ora for the Mobile Server.
         5. tnsnames.ora for the Database.
    Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
    Thanks,
    Thomas G. Matney
    [email protected]
    (662)325-2791
    //Start of Publish.java code
    // Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
    // = http://130.18.168.225:7778
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center username = administrator
    // Mobile Server Control Center password = admin
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
    // Mobile administrator password = fiafield // Username and password are the same
    import java.sql.SQLException;
    import java.sql.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.ResourceManager;
    import oracle.mobile.admin.ResException;
    import oracle.sql.*;
    import oracle.jdbc.*;
    import oracle.mobile.admin.*;
    public class Publish
    // Schema names and usernames are not case sensitive.
    // UN fiafield = FIAFIELD
    // SCHEMA fiafield = FIAFIELD
    // Schema name/Username, and password used on creation of Mobile Repository
    static String CONS_SCHEMA = "fiafield";
    static String DEFAULT_PASSWORD = "fiafield";
    static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
    static String thin_jdbc_url =
    "jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
    static String Publication;
    static String CreateTreeTableShortNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "id FLOAT,"
    + "subp FLOAT,"
    + "rnum FLOAT,"
    + "st FLOAT,"
    + "unit FLOAT,"
    + "cnty FLOAT,"
    + "plot FLOAT,"
    + "cyc FLOAT,"
    + "scyc FLOAT,"
    + "tree FLOAT,"
    + "ncpt FLOAT NULL,"
    + "dist FLOAT NULL,"
    + "diam FLOAT NULL,"
    + "dmht FLOAT NULL,"
    + "dmck FLOAT NULL,"
    + "spec FLOAT NULL,"
    + "lang FLOAT NULL,"
    + "nctc FLOAT NULL,"
    + "stat FLOAT NULL,"
    + "util FLOAT NULL,"
    + "deca FLOAT NULL,"
    + "crat FLOAT NULL,"
    + "ccls FLOAT NULL,"
    + "az FLOAT NULL,"
    + "cond FLOAT NULL,"
    + "tlen FLOAT NULL,"
    + "alen FLOAT NULL,"
    + "lmet FLOAT NULL,"
    + "nctg FLOAT NULL,"
    + "rcul FLOAT NULL,"
    + "ncpd FLOAT NULL,"
    + "dead FLOAT NULL,"
    + "mor FLOAT NULL,"
    + "modm FLOAT NULL,"
    + "dml1 FLOAT NULL,"
    + "dmt1 FLOAT NULL,"
    + "dms1 FLOAT NULL,"
    + "dma1 FLOAT NULL,"
    + "dml2 FLOAT NULL,"
    + "dmt2 FLOAT NULL,"
    + "dms2 FLOAT NULL,"
    + "dma2 FLOAT NULL,"
    + "dml3 FLOAT NULL,"
    + "dmt3 FLOAT NULL,"
    + "dms3 FLOAT NULL,"
    + "dma3 FLOAT NULL,"
    + "dbtr FLOAT NULL,"
    + "dbsp FLOAT NULL,"
    + "nxtn FLOAT NULL,"
    + "dbds FLOAT NULL,"
    + "dbaz FLOAT NULL,"
    + "psta FLOAT NULL,"
    + "fiat FLOAT NULL,"
    + "fhmt FLOAT NULL"
    + ")";
    static String CreateTreeTableLongNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "ID FLOAT,"
    + "SUBPLOT FLOAT,"
    + "RECORD_NUMBER FLOAT,"
    + "STATE FLOAT,"
    + "UNIT FLOAT,"
    + "COUNTY FLOAT,"
    + "PLOT FLOAT,"
    + "CYCLE FLOAT,"
    + "SUBCYCLE FLOAT,"
    + "TREE FLOAT,"
    + "NC_PLOT_TYPE FLOAT,"
    + "DISTANCE FLOAT NULL,"
    + "DIAMETER FLOAT NULL,"
    + "DIAMETER_HEIGHT FLOAT NULL,"
    + "DIAMETER_CHECK FLOAT NULL,"
    + "SPECIES FLOAT NULL,"
    + "LEAN_ANGLE FLOAT NULL,"
    + "NC_TREE_CLASS FLOAT NULL,"
    + "STATUS FLOAT NULL,"
    + "UTILIZATION FLOAT NULL,"
    + "DECAY FLOAT NULL,"
    + "CROWN_RATIO FLOAT NULL,"
    + "CROWN_CLASS FLOAT NULL,"
    + "AZIMUTH FLOAT NULL,"
    + "CONDITION FLOAT NULL,"
    + "TOTAL_LENGTH FLOAT NULL,"
    + "ACTUAL_LENGTH FLOAT NULL,"
    + "LENGTH_METHOD FLOAT NULL,"
    + "NC_TREE_GRADE FLOAT NULL,"
    + "ROTTEN_CULL FLOAT NULL,"
    + "NC_PREVIOUS_DBH FLOAT NULL,"
    + "CAUSE_OF_DEATH FLOAT NULL,"
    + "MORTALITY_YEAR FLOAT NULL,"
    + "MO_DAMAGE FLOAT NULL,"
    + "DAMAGE_LOCATION1 FLOAT NULL,"
    + "DAMAGE_TYPE1 FLOAT NULL,"
    + "DAMAGE_SEVERITY1 FLOAT NULL,"
    + "NC_DAMAGE_AGENT1 FLOAT NULL,"
    + "DAMAGE_LOCATION2 FLOAT NULL,"
    + "DAMAGE_TYPE2 FLOAT NULL,"
    + "DAMAGE_SEVERITY2 FLOAT NULL,"
    + "NC_DAMAGE_AGENT2 FLOAT NULL,"
    + "DAMAGE_LOCATION3 FLOAT NULL,"
    + "DAMAGE_TYPE3 FLOAT NULL,"
    + "DAMAGE_SEVERITY3 FLOAT NULL,"
    + "NC_DAMAGE_AGENT3 FLOAT NULL,"
    + "DB_TREE FLOAT NULL,"
    + "DB_SPECIES FLOAT NULL,"
    + "NEXT_NUMBER FLOAT NULL,"
    + "DB_DISTANCE FLOAT NULL,"
    + "DB_AZIMUTH FLOAT NULL,"
    + "PREVIOUS_STATUS FLOAT NULL,"
    + "FIA_TREE_NUMBER FLOAT NULL,"
    + "FHM_TREE FLOAT NULL"
    + ")";
    public static void main(String argv[]) throws Throwable
    // Publish - an OKAPI sample
    if(argv.length == 2)
    CONS_SCHEMA = argv[0] ;
    DEFAULT_PASSWORD = argv[1] ;
    //create required tables using standard jdbc
    //DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection c = null;
    Statement s = null;
    try
    // Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
    // Need the ability to grant resources, and connection to Mobile Repository user
    //c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
    // Remote connection. See attached webtogo.ora.
    c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
    "SYSTEM", "phwphw");
    s = c.createStatement ();
    try
    s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate(CreateTreeTableShortNames);
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
    +" zmtr1tbl_pk primary key(subp, tree)");
    catch (SQLException ee)
    ee.printStackTrace ();
    // Line 223 // create consolidator publications.
    try
    // *****!!!!! Unless the Webtogo.ora file is in the current working
    // directory the connection is not made. This version of the resource
    // manager must be looking for the file in the old 8i Mobile default
    // directory. This is a definite problem. If the code was working, the
    // addition of the webtogo.ora should have affect on the functionality
    // of the code.
    // The connection is made to the Mobile Server. At least no exceptions
    // are thrown, provided the webtogo.ora is in the current working
    // directory.
    //oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
    // I tried making a direct connect to possibly avoid needing to have the
    // webtogo.ora file in the current directory. The direct coonect did not work.
    // You can quickly convince yourself that the webtogo.ora file must
    // be in the current working directory, by running the code with and
    // without the webtogo.ora in the current working directory.
    // The directory OraLiteHome\Mobile\Server\bin is in the PATH after
    // after installation but the extension .ora is not in PATHEXT. The
    // OraLite installer should put .ora in PATHEXT. I tried adding .ora
    // to the PATHEXT, but it still could not find thw webtogo.ora file,
    // and it should have. What is going on? I am a bit rusty on DOS so
    // I may not have thing right.
    // OraLiteHome\Mobile\Server\bin is the residing directory for
    // the functional copy of the webtogo.ora file.
    oracle.mobile.admin.ResourceManager.openConnection(
    CONS_SCHEMA,
    DEFAULT_PASSWORD,
    "jdbc:oracle:oci8:@WEBTOGO.WORLD");
    catch(ResException ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    // The Mobile user is created, and then the function throws a resource exception.
    // This is a serious problem with the code. One would assume that the user
    // is not created if and exception is thrown.
    // This appears to be a bug in the createUser code. The function should return
    // false if the user is not created, and handle, or not throw the exception.
    // The function always returns false. It does return true when a user is created
    // because it throws an exception.
    boolean bIsCreated;
    System.out.println("Begin of why is ResourceManager not dropping users?");
    // Line 277
    try
    // The dropUser function will not drop a user. I have tested the function
    // by creating the user ZMPT1UA in the Mobile Server Control Center
    // http://Yggdrasill.cfr.msstate.edu/webtogo
    // so I know that the user exist.
    // This function throws a ResException but it is not declared correctly
    // since you cannot trap the exception as a ResException. It always tells
    // me the view does not exist. What steps are required to get the function
    // to work? What function calls need to be made prior to calling the dropUser
    // function.
    oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
    catch (Throwable ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    System.out.println("End of why is ResourceManager not dropping users?");
    try
    bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
    "ZMPT1UA",
    DEFAULT_PASSWORD,
    "ZMPT1UA", "S");
    catch (Throwable ee)
    ee.printStackTrace (); // Ignore exception
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    // Create CONS_SCHEMA user on the database with the same username, and
    // password as the user on the Mobile Server side. This is why the
    // DriverManager connection was made as SYSTEM/phwphw.
    // Grant ALL to repository, and user on replicated database
    // On the database side there is a user with un = fiafield,
    // and pw = fiafield, which is the same as the Mobile Repository
    // schema name/password pair fiafield/fiafield. Can this duality
    // create a problem? Probably not.
    // Need SYSTEM ADMIN privilages for the next two steps, and that is
    // why the coonection was established as SYSTEM/phwphw.
    // Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
    System.out.println("Pargress point D");
    try
    s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    /* This code is not needed to test the code
    // Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
    String Statement =
    "INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
    try
    s.execute(Statement);
    catch (SQLException ee)
    System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
    ee.printStackTrace (); // ignore
    c.commit ();
    catch (SQLException ee)
    ee.printStackTrace ();
    finally
    if (s!= null) try {s.close ();}catch (SQLException e1){}
    if (c!= null) try {c.close ();}catch (SQLException e2){}
    // The Consolidator class is not thread safe, and I will eventually
    // need thread safety. The ConsolidatorManage class is thread safe.
    //Consolidator ConsolidatorXX = new Consolidator();
    ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
    // Line 386
    // Try opening a connection. Sample11 does not open a connection, but it seems
    // like a logical first thing to do.
    // At least with this connection the DropPublication, and AddPublication functions
    // appear to work, or at least they do not throw exceptions. The DropPublication
    // throws an exception if a publication does not exist? I tested this and indeed
    // if I call the DropPublication function, and do not create the Publication again
    // when I reenter the program the DropPublication function throws an exception, and
    // produces the correct error message(The publication does not exist). There is hope.
    // It is very disturbing that the program fails unless the webtogo.ora file is not
    // in the current working directory. Because the OpenConnection functions of both
    // the ResourceManager, and ConsolidatorManager both appear to need access to the
    // webtogo.ora file, and they are finding them in the current directory, the
    // logical conclusion is that both of the classes are attempting to open the
    // webtogo.ora with the relative path webtogo.ora, and not the absolute path
    // OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
    // is this very important fact not in the documentation? Or, am I wrong?
    Connection conn = null;
    try
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD);
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD,
    //"jdbc:oracle:oci8:@WEBTOGO.WORLD");
    conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    CONS_SCHEMA,DEFAULT_PASSWORD);
    //conn = DriverManager.getConnection
    //("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    //"SYSTEM","phwphw");
    ConsolidatorXX.OpenConnection(conn);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Publication name
    Publication = "ZMTR1PUB";
    try
    ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
    e.printStackTrace(); //ignore error
    // Line 448
    // There is no Consolidator.OpenConnection in the orginal sample11.java code.
    // Why?. It appears to be neccessary. The only way I can make the sample11 code
    // or this program work is to open a jdbc connection with the Consolidator.OpenConnection
    // function. I assume that somehow the Consolidator.OpenConnection function was
    // deleted from sample11.java.
    // This try to drop a publication index does not work, because when I try
    // to recreate the index in the following code it warns me that I have a
    // bad column name for the index. So it thinks the index still exist.
    // Why?. How do I get rid of the index?
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublication(Publication);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    //ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
    //"zMTR1.%s", null);
    ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
    "zMTR1.%s", null);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
    "SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
    catch (Throwable e)
    e.printStackTrace();
    System.out.println("Begin of how can drop this index and get rid of the warning?");
    // Line 522
    // I defined the index ZMTR1IX1 originally on the variable subp, and did not get
    // any warning. I then changed the index variable for the index to id, and started
    // receiving the warning to check the index column for typographical errors. Even
    // if I change the index variable back to subp, I continue to receive the warning.
    // How do I get rid of the index and the warning, so I can recreate the index for
    // another variable? I quess the real question is "How to I completely remove a
    // publication, and all of its parts so I can start over?
    try
    ConsolidatorXX.CreatePublicationItemIndex(
    "ZMTR1IX1", "ZMTR1ITM", "I", "id");
    catch (Throwable e)
    e.printStackTrace ();
    System.out.println("End of how can drop this index and get rid of the warning?");
    try
    ConsolidatorXX.AddPublicationItem(
    Publication, "ZMTR1ITM", null, null, "S", null, null);
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CloseConnection();
    if(conn != null)
    conn.close();
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    oracle.mobile.admin.ResourceManager.closeConnection();
    End of Publish.java code     
    Begin Compile.bat
    set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\javac Publish.java
    End Compile.bat          
    Begin Run.bat
    set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\java Publish
    End Run.bat
    Begin webtogo.ora
    USE_SYSTEM_CLASSPATH = NO
    MODE = SERVER
    PORT = 80
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ADMIN_USER=8B37E78535B55525292A3A2929292999
    ADMIN_PASSWORD=873515A838B85828292A3A2929292999
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    #ROOT_DIR=%WEBTOGO_HOME%\server
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    #ENABLE=YES
    # The log file name.
    #LOG_FILE=test.log
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #MACHINE=
    #PORT=100
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.5
    # 8.0.5 or 8.1.5
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=c:\\temp
    WTG_PROXY_PORT=80
    TRACE=NO
    TRACE_ALL=NO
    End webtogo.ora
    Begin Mobile Server tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    WEBTOGO.WORLD.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    End Mobile Server tnsnames.ora file
    Begin Database tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGGDRASILL.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    End Database tnsnames.ora file

    Dear Oracle technical representative, or user:
    I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
    With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
    I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
         1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
         2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
    Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
    if you are in a position to do so.
    The other files that follow the Publish.java code are
         1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
         2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
         3. Webtogo.ora
         4. tnsnames.ora for the Mobile Server.
         5. tnsnames.ora for the Database.
    Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
    Thanks,
    Thomas G. Matney
    [email protected]
    (662)325-2791
    //Start of Publish.java code
    // Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
    // = http://130.18.168.225:7778
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center username = administrator
    // Mobile Server Control Center password = admin
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
    // Mobile administrator password = fiafield // Username and password are the same
    import java.sql.SQLException;
    import java.sql.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.ResourceManager;
    import oracle.mobile.admin.ResException;
    import oracle.sql.*;
    import oracle.jdbc.*;
    import oracle.mobile.admin.*;
    public class Publish
    // Schema names and usernames are not case sensitive.
    // UN fiafield = FIAFIELD
    // SCHEMA fiafield = FIAFIELD
    // Schema name/Username, and password used on creation of Mobile Repository
    static String CONS_SCHEMA = "fiafield";
    static String DEFAULT_PASSWORD = "fiafield";
    static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
    static String thin_jdbc_url =
    "jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
    static String Publication;
    static String CreateTreeTableShortNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "id FLOAT,"
    + "subp FLOAT,"
    + "rnum FLOAT,"
    + "st FLOAT,"
    + "unit FLOAT,"
    + "cnty FLOAT,"
    + "plot FLOAT,"
    + "cyc FLOAT,"
    + "scyc FLOAT,"
    + "tree FLOAT,"
    + "ncpt FLOAT NULL,"
    + "dist FLOAT NULL,"
    + "diam FLOAT NULL,"
    + "dmht FLOAT NULL,"
    + "dmck FLOAT NULL,"
    + "spec FLOAT NULL,"
    + "lang FLOAT NULL,"
    + "nctc FLOAT NULL,"
    + "stat FLOAT NULL,"
    + "util FLOAT NULL,"
    + "deca FLOAT NULL,"
    + "crat FLOAT NULL,"
    + "ccls FLOAT NULL,"
    + "az FLOAT NULL,"
    + "cond FLOAT NULL,"
    + "tlen FLOAT NULL,"
    + "alen FLOAT NULL,"
    + "lmet FLOAT NULL,"
    + "nctg FLOAT NULL,"
    + "rcul FLOAT NULL,"
    + "ncpd FLOAT NULL,"
    + "dead FLOAT NULL,"
    + "mor FLOAT NULL,"
    + "modm FLOAT NULL,"
    + "dml1 FLOAT NULL,"
    + "dmt1 FLOAT NULL,"
    + "dms1 FLOAT NULL,"
    + "dma1 FLOAT NULL,"
    + "dml2 FLOAT NULL,"
    + "dmt2 FLOAT NULL,"
    + "dms2 FLOAT NULL,"
    + "dma2 FLOAT NULL,"
    + "dml3 FLOAT NULL,"
    + "dmt3 FLOAT NULL,"
    + "dms3 FLOAT NULL,"
    + "dma3 FLOAT NULL,"
    + "dbtr FLOAT NULL,"
    + "dbsp FLOAT NULL,"
    + "nxtn FLOAT NULL,"
    + "dbds FLOAT NULL,"
    + "dbaz FLOAT NULL,"
    + "psta FLOAT NULL,"
    + "fiat FLOAT NULL,"
    + "fhmt FLOAT NULL"
    + ")";
    static String CreateTreeTableLongNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "ID FLOAT,"
    + "SUBPLOT FLOAT,"
    + "RECORD_NUMBER FLOAT,"
    + "STATE FLOAT,"
    + "UNIT FLOAT,"
    + "COUNTY FLOAT,"
    + "PLOT FLOAT,"
    + "CYCLE FLOAT,"
    + "SUBCYCLE FLOAT,"
    + "TREE FLOAT,"
    + "NC_PLOT_TYPE FLOAT,"
    + "DISTANCE FLOAT NULL,"
    + "DIAMETER FLOAT NULL,"
    + "DIAMETER_HEIGHT FLOAT NULL,"
    + "DIAMETER_CHECK FLOAT NULL,"
    + "SPECIES FLOAT NULL,"
    + "LEAN_ANGLE FLOAT NULL,"
    + "NC_TREE_CLASS FLOAT NULL,"
    + "STATUS FLOAT NULL,"
    + "UTILIZATION FLOAT NULL,"
    + "DECAY FLOAT NULL,"
    + "CROWN_RATIO FLOAT NULL,"
    + "CROWN_CLASS FLOAT NULL,"
    + "AZIMUTH FLOAT NULL,"
    + "CONDITION FLOAT NULL,"
    + "TOTAL_LENGTH FLOAT NULL,"
    + "ACTUAL_LENGTH FLOAT NULL,"
    + "LENGTH_METHOD FLOAT NULL,"
    + "NC_TREE_GRADE FLOAT NULL,"
    + "ROTTEN_CULL FLOAT NULL,"
    + "NC_PREVIOUS_DBH FLOAT NULL,"
    + "CAUSE_OF_DEATH FLOAT NULL,"
    + "MORTALITY_YEAR FLOAT NULL,"
    + "MO_DAMAGE FLOAT NULL,"
    + "DAMAGE_LOCATION1 FLOAT NULL,"
    + "DAMAGE_TYPE1 FLOAT NULL,"
    + "DAMAGE_SEVERITY1 FLOAT NULL,"
    + "NC_DAMAGE_AGENT1 FLOAT NULL,"
    + "DAMAGE_LOCATION2 FLOAT NULL,"
    + "DAMAGE_TYPE2 FLOAT NULL,"
    + "DAMAGE_SEVERITY2 FLOAT NULL,"
    + "NC_DAMAGE_AGENT2 FLOAT NULL,"
    + "DAMAGE_LOCATION3 FLOAT NULL,"
    + "DAMAGE_TYPE3 FLOAT NULL,"
    + "DAMAGE_SEVERITY3 FLOAT NULL,"
    + "NC_DAMAGE_AGENT3 FLOAT NULL,"
    + "DB_TREE FLOAT NULL,"
    + "DB_SPECIES FLOAT NULL,"
    + "NEXT_NUMBER FLOAT NULL,"
    + "DB_DISTANCE FLOAT NULL,"
    + "DB_AZIMUTH FLOAT NULL,"
    + "PREVIOUS_STATUS FLOAT NULL,"
    + "FIA_TREE_NUMBER FLOAT NULL,"
    + "FHM_TREE FLOAT NULL"
    + ")";
    public static void main(String argv[]) throws Throwable
    // Publish - an OKAPI sample
    if(argv.length == 2)
    CONS_SCHEMA = argv[0] ;
    DEFAULT_PASSWORD = argv[1] ;
    //create required tables using standard jdbc
    //DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection c = null;
    Statement s = null;
    try
    // Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
    // Need the ability to grant resources, and connection to Mobile Repository user
    //c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
    // Remote connection. See attached webtogo.ora.
    c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
    "SYSTEM", "phwphw");
    s = c.createStatement ();
    try
    s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate(CreateTreeTableShortNames);
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
    +" zmtr1tbl_pk primary key(subp, tree)");
    catch (SQLException ee)
    ee.printStackTrace ();
    // Line 223 // create consolidator publications.
    try
    // *****!!!!! Unless the Webtogo.ora file is in the current working
    // directory the connection is not made. This version of the resource
    // manager must be looking for the file in the old 8i Mobile default
    // directory. This is a definite problem. If the code was working, the
    // addition of the webtogo.ora should have affect on the functionality
    // of the code.
    // The connection is made to the Mobile Server. At least no exceptions
    // are thrown, provided the webtogo.ora is in the current working
    // directory.
    //oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
    // I tried making a direct connect to possibly avoid needing to have the
    // webtogo.ora file in the current directory. The direct coonect did not work.
    // You can quickly convince yourself that the webtogo.ora file must
    // be in the current working directory, by running the code with and
    // without the webtogo.ora in the current working directory.
    // The directory OraLiteHome\Mobile\Server\bin is in the PATH after
    // after installation but the extension .ora is not in PATHEXT. The
    // OraLite installer should put .ora in PATHEXT. I tried adding .ora
    // to the PATHEXT, but it still could not find thw webtogo.ora file,
    // and it should have. What is going on? I am a bit rusty on DOS so
    // I may not have thing right.
    // OraLiteHome\Mobile\Server\bin is the residing directory for
    // the functional copy of the webtogo.ora file.
    oracle.mobile.admin.ResourceManager.openConnection(
    CONS_SCHEMA,
    DEFAULT_PASSWORD,
    "jdbc:oracle:oci8:@WEBTOGO.WORLD");
    catch(ResException ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    // The Mobile user is created, and then the function throws a resource exception.
    // This is a serious problem with the code. One would assume that the user
    // is not created if and exception is thrown.
    // This appears to be a bug in the createUser code. The function should return
    // false if the user is not created, and handle, or not throw the exception.
    // The function always returns false. It does return true when a user is created
    // because it throws an exception.
    boolean bIsCreated;
    System.out.println("Begin of why is ResourceManager not dropping users?");
    // Line 277
    try
    // The dropUser function will not drop a user. I have tested the function
    // by creating the user ZMPT1UA in the Mobile Server Control Center
    // http://Yggdrasill.cfr.msstate.edu/webtogo
    // so I know that the user exist.
    // This function throws a ResException but it is not declared correctly
    // since you cannot trap the exception as a ResException. It always tells
    // me the view does not exist. What steps are required to get the function
    // to work? What function calls need to be made prior to calling the dropUser
    // function.
    oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
    catch (Throwable ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    System.out.println("End of why is ResourceManager not dropping users?");
    try
    bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
    "ZMPT1UA",
    DEFAULT_PASSWORD,
    "ZMPT1UA", "S");
    catch (Throwable ee)
    ee.printStackTrace (); // Ignore exception
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    // Create CONS_SCHEMA user on the database with the same username, and
    // password as the user on the Mobile Server side. This is why the
    // DriverManager connection was made as SYSTEM/phwphw.
    // Grant ALL to repository, and user on replicated database
    // On the database side there is a user with un = fiafield,
    // and pw = fiafield, which is the same as the Mobile Repository
    // schema name/password pair fiafield/fiafield. Can this duality
    // create a problem? Probably not.
    // Need SYSTEM ADMIN privilages for the next two steps, and that is
    // why the coonection was established as SYSTEM/phwphw.
    // Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
    System.out.println("Pargress point D");
    try
    s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    /* This code is not needed to test the code
    // Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
    String Statement =
    "INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
    try
    s.execute(Statement);
    catch (SQLException ee)
    System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
    ee.printStackTrace (); // ignore
    c.commit ();
    catch (SQLException ee)
    ee.printStackTrace ();
    finally
    if (s!= null) try {s.close ();}catch (SQLException e1){}
    if (c!= null) try {c.close ();}catch (SQLException e2){}
    // The Consolidator class is not thread safe, and I will eventually
    // need thread safety. The ConsolidatorManage class is thread safe.
    //Consolidator ConsolidatorXX = new Consolidator();
    ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
    // Line 386
    // Try opening a connection. Sample11 does not open a connection, but it seems
    // like a logical first thing to do.
    // At least with this connection the DropPublication, and AddPublication functions
    // appear to work, or at least they do not throw exceptions. The DropPublication
    // throws an exception if a publication does not exist? I tested this and indeed
    // if I call the DropPublication function, and do not create the Publication again
    // when I reenter the program the DropPublication function throws an exception, and
    // produces the correct error message(The publication does not exist). There is hope.
    // It is very disturbing that the program fails unless the webtogo.ora file is not
    // in the current working directory. Because the OpenConnection functions of both
    // the ResourceManager, and ConsolidatorManager both appear to need access to the
    // webtogo.ora file, and they are finding them in the current directory, the
    // logical conclusion is that both of the classes are attempting to open the
    // webtogo.ora with the relative path webtogo.ora, and not the absolute path
    // OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
    // is this very important fact not in the documentation? Or, am I wrong?
    Connection conn = null;
    try
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD);
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD,
    //"jdbc:oracle:oci8:@WEBTOGO.WORLD");
    conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    CONS_SCHEMA,DEFAULT_PASSWORD);
    //conn = DriverManager.getConnection
    //("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    //"SYSTEM","phwphw");
    ConsolidatorXX.OpenConnection(conn);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Publication name
    Publication = "ZMTR1PUB";
    try
    ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
    e.printStackTrace(); //ignore error
    // Line 448
    // There is no Consolidator.OpenConnection in the orginal sample11.java code.
    // Why?. It appears to be neccessary. The only way I can make the sample11 code
    // or this program work is to open a jdbc connection with the Consolidator.OpenConnection
    // function. I assume that somehow the Consolidator.OpenConnection function was
    // deleted from sample11.java.
    // This try to drop a publication index does not work, because when I try
    // to recreate the index in the following code it warns me that I have a
    // bad column name for the index. So it thinks the index still exist.
    // Why?. How do I get rid of the index?
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublication(Publication);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    //ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
    //"zMTR1.%s", null);
    ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
    "zMTR1.%s", null);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
    "SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
    catch (Throwable e)
    e.printStackTrace();
    System.out.println("Begin of how can drop this index and get rid of the warning?");
    // Line 522
    // I defined the index ZMTR1IX1 originally on the variable subp, and did not get
    // any warning. I then changed the index variable for the index to id, and started
    // receiving the warning to check the index column for typographical errors. Even
    // if I change the index variable back to subp, I continue to receive the warning.
    // How do I get rid of the index and the warning, so I can recreate the index for
    // another variable? I quess the real question is "How to I completely remove a
    // publication, and all of its parts so I can start over?
    try
    ConsolidatorXX.CreatePublicationItemIndex(
    "ZMTR1IX1", "ZMTR1ITM", "I", "id");
    catch (Throwable e)
    e.printStackTrace ();
    System.out.println("End of how can drop this index and get rid of the warning?");
    try
    ConsolidatorXX.AddPublicationItem(
    Publication, "ZMTR1ITM", null, null, "S", null, null);
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CloseConnection();
    if(conn != null)
    conn.close();
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    oracle.mobile.admin.ResourceManager.closeConnection();
    End of Publish.java code     
    Begin Compile.bat
    set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\javac Publish.java
    End Compile.bat          
    Begin Run.bat
    set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\java Publish
    End Run.bat
    Begin webtogo.ora
    USE_SYSTEM_CLASSPATH = NO
    MODE = SERVER
    PORT = 80
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ADMIN_USER=8B37E78535B55525292A3A2929292999
    ADMIN_PASSWORD=873515A838B85828292A3A2929292999
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    #ROOT_DIR=%WEBTOGO_HOME%\server
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    #ENABLE=YES
    # The log file name.
    #LOG_FILE=test.log
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #MACHINE=
    #PORT=100
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.5
    # 8.0.5 or 8.1.5
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=c:\\temp
    WTG_PROXY_PORT=80
    TRACE=NO
    TRACE_ALL=NO
    End webtogo.ora
    Begin Mobile Server tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    WEBTOGO.WORLD.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    End Mobile Server tnsnames.ora file
    Begin Database tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGGDRASILL.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    End Database tnsnames.ora file

  • Populate Flex Tree from Java Code (Database)

    Hi
    Can someone please help me? I'm very new to using flex. I'm
    basically trying to create a tree that is populated from data in my
    database. I am using hibernate to fetch that data.
    The plan is to basically create the tree in Java code (since
    I don't want any processing done on the client PC) and then pass
    this to the flex tree (or an actionscript data structure that is
    compatible as the tree datasource)
    I am creating the java tree using DocumentImpl. Is this
    correct? What class would work?
    Element e = null;
    Node n = null;
    Document xmldoc= new DocumentImpl();
    Element root = xmldoc.createElement("USERS");

    quote:
    Originally posted by:
    ntsiii
    Stop running and get a map (read the documents)
    This is hardly a useful comment and must discourage new users
    from asking questions. If you think the documentation relating to
    the use of the tree control is straightforward then I beg to
    differ.
    If you are aware of a clear example of how to use the data
    tree with a php backend returning a remote data object please
    enlighten me. Meanwhile I continue my search but not within the
    livedocs.
    One site I have found that may be of use is
    http://flexdiary.blogspot.com/2009/01/lazy-loading-tree-example-file-posted.html
    Not everyone is an expert.

  • Want to LOOK/SHARE JAVA code or Template for BI Publisher ?

    1. If you are interested in sharing a nice piece of JAVA code you have written using BI Publisher APIs, or a template with an elegant solution to a problem, or any other BI Publisher object.
    2. Or if you are interested in looking at some one else's samples
    We have a shared site: [https://codesamples.samplecode.oracle.com/servlets/tracking/action/ExecuteQuery?query=business_intelligence|* https://codesamples.samplecode.oracle.com/servlets/tracking/action/ExecuteQuery?query=business_intelligence *]
    If you submit a code sample: "Business Intelligence" should be entered in the Related Technologies section
    Once we get enough samples we can get a section devoted to just BI Publisher!
    Enjoy!
    Edited by: user488697 on Nov 9, 2010 10:44 AM

    BI Publisher

  • How to: java code

    I was going through different documentations for using Java with BI Publisher.
    For example:
    Example 7-4 Sample Code for Retrieving a List of Field Names
    import java.util.Enumeration;
    import oracle.xdo.template.FormProcessor;
    +.+
    +.+
    +.+
    FormProcessor fProcessor = new FormProcessor();
    fProcessor.setTemplate(filePath);        // Input File (PDF) name
    Enumeration enum = fProcessor.getFieldNames();
    while(enum.hasMoreElements())
    Question:
    How do I use Java API/Code with Oracle EBS (11.5.10)? I mean, if I write a Java code to do some complex task, how will I reference it in BI Publisher(stand alone)? Is the Java API's useful only for OAF/r12?
    Thanks in adavnce.

    Java may be easier to get back to source, but in reality, there is no "safe way" to release code, so you should never put anything in it that you don't want viewed. That does not mean that there isn't ways to make it harder to view the code. Obfuscation is one thing that can be done, but you can be guaranteed that anything you do to make the code "unreadable" can be undone. I used to delight in going over code, decompile it, or, at times, just fishing through the machine code bytes to see what was there.
    I am one that subscribes to the idea that there is no such thing as security, anyone that really wants to break in or read a product or site is going to do it. It is a game we play as programmers that goes like this: how difficult can I make it so most people leave my site alone or do not steal my code? Once the idea comes out of your head, it's fair game for anyone that really wants to take the time and effort to steal it.
    If you do not want people to have your code, do as already suggested: do not release it, make a webservice and have it hoasted on a site. Make multiple tiers of objects with your most sensitive being called with arguments from previous layers to allow them to do their jobs without the end user ever seeing it's there, where it's located, or really what it does--hide it, don't let the user see it.

  • How to run report from java code

    I am a begginner in Oracle Reports. We have no AS installed, so we run reports either from Reports Builder or by calling rwrun. I would like to know how to embed report calling into java code , let's say into simple swing application. Some example code would be welcomed. Thanks.

    Hello,
    You can find examples in :
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_webservice.htm
    Oracle® Application Server Reports Services Publishing Reports to the Web
    10g Release 2 (10.1.2)
    B14048-02
    14 Using the Oracle Reports Web Service
    Regards

  • Monitor java code using BAM

    Hi,
    I am new to BAM, and I have a specific use case, for which I couldnt find any doc in the web. I want to monitor a java code at different point using BAM. To be in more detail, I would like to add sensors at different location in my java code, which would possible push it to JMS queue and BAM monitors those data objects.
    Thanks,
    Sudarsan M

    Hi Sudarshan,
    Please look in the blog entry below that demonstrate how you can feed BAM Data objects by listening to JMS Queue/Topic.
    http://beatechnologies.wordpress.com/2011/05/20/integrating-oracle-bam-11g-with-bpel-jms-sensor-action/
    The example in the blog illustrate how a BPEL process uses a JMS Sensor action to publish Data to a JMS Queue and from there how it is picked up by External Message Sources in BAM.
    For your use case you can write a small client code to post an XML message from your Java Class to a Queue in Weblogic.
    Hope it helps.

  • How to print/list all the groups/users present in Weblogic using Java code

    Hi,
    Weblogic version : 11.1.1.5
    How to print/list all the groups/users present in Weblogic using Java code
    I want to make a remote connection to Weblogic server and print all the users/groups present in it.
    I have gone through the below mentioned site, but I cannot use the same approach since most of the API' are deprecated for example "weblogic.management.MBeanHome;"
    http://weblogic-wonders.com/weblogic/2010/11/10/list-users-and-groups-in-weblogic-using-jmx/
    Thanks in advance,
    Edited by: 984107 on 05-Feb-2013 05:26
    Edited by: 984107 on 05-Feb-2013 22:59

    see this http://www.techpaste.com/2012/06/managing-user-groups-wlst-scripts-weblogic/
    Hope this helps.

  • Updating an existing xml file using java code

    hi friends,
    I have simple problem, I have an existing xml file and I want to update some of the values in the file.
    can any one send me the java code for that.
    bye.
    -harish

    org.w3c.dom.Document d = parseXmlFile("D:/www/Detailcache/detail.xml", false);
    public static Document parseXmlFile(String filename, boolean validating) {
    try {
    // Create a builder factory
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setValidating(validating);
    // Create the builder and parse the file
    Document doc = factory.newDocumentBuilder().parse(new File(filename));
    return doc;
    } catch (Exception e) {
    System.out.println("ERROR-->");e.printStackTrace();
    return null;
    look at .. for more related examples
    http://javaalmanac.com/egs/javax.xml.parsers/BasicDom.html?l=rel

  • How to pass arguments to a batch file from java code

    Hi
    I have a batch file (marcxml.bat) which has the following excerpt :
    @echo off
    if x==%1x goto howto
    java -cp C:\Downloads\Marcxml\marc4j.jar; C:\Downloads\Marcxml\marcxml.jar; %1 %2 %3
    goto end
    I'm calling this batch file from a java code with the following line of code:
    Process p = Runtime.getRuntime().exec("cmd /c start C:/Downloads/Marcxml/marcxml.bat");
    so ,that invokes the batch file.Till that point its ok.
    since the batch file accpets arguments(%1 %2 %3) how do i pass those arguments to the batch file from my code ...???
    %1 is a classname : for ex: gov.loc.marcxml.MARC21slim2MARC
    %2 is the name of the input file for ex : C:/Downloads/Marcxml/source.xml
    %3 is the name of the output file for ex: C:/Downloads/Marcxml/target.mrc
    could someone help me...
    if i include these parameters too along with the above line of code i.e
    Process p = Runtime.getRuntime().exec("cmd /c start C:/Downloads/Marcxml/marcxml.bat gov.loc.marcxml.MARC21slim2MARC C:\\Downloads\\Marcxml\\source.xml C:\\Downloads\\Marcxml\\target.mrc") ;
    I get the following error :
    Exception in thread main java.lang.Noclassdef foundError: c:Downloads\marcxml\source/xml
    could some one tell me if i'm doing the right way in passing the arguments to the batch file if not what is the right way??
    Message was edited by:
    justunme1

    1 - create a java class (Executer.java) for example:
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    public class Executer {
         public static void main(String[] args) {
              try {
                   for (int i = 0; i < args.length; i++) {
                        System.out.println(args);
                   Class<?> c = Class.forName(args[0]);
                   Class[] argTypes = new Class[] { String[].class };
                   Method main = c.getDeclaredMethod("main", argTypes);
                   // String[] mainArgs = Arrays.copyOfRange(args, 1, args.length); //JDK 6
                   //jdk <6
                   String[] mainArgs = new String[args.length - 1];
                   for (int i = 0; i < mainArgs.length; i++) {
                        mainArgs[i] = args[i + 1];
                   main.invoke(null, (Object) mainArgs);
                   // production code should handle these exceptions more gracefully
              } catch (ClassNotFoundException x) {
                   x.printStackTrace();
              } catch (NoSuchMethodException x) {
                   x.printStackTrace();
              } catch (IllegalAccessException x) {
                   x.printStackTrace();
              } catch (InvocationTargetException x) {
                   x.printStackTrace();
              } catch (Exception e) {
                   e.printStackTrace();
    2 - create a .bat file:
    @echo off
    java -cp C:\Downloads\Marcxml\marc4j.jar; C:\Downloads\Marcxml\marcxml.jar; Executer %TARGET_CLASS% %IN_FILE% %OUT_FILE%3 - use set command to pass variable:
    Open MS-DOS, and type the following:
    set TARGET_CLASS=MyTargetClass
    set IN_FILE=in.txt
    set OUT_FILE=out.txt
    Then run your .bat file (in the same ms dos window)
    Hope that Helps

  • How to modify an existing xml file from java code.

    Hi
    I have worked on creating a new xml file from java code using xmlbeans.But if i try to modify an already existing file using java code I am unable to get errorfree xmlfile.
    For example if xml file(studlist.xml) is as below:
    <?xml version="1.0" encoding="UTF-8"?>
    <StudentList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\kchaitanya\xmlprac1\abc\Studlist.xsd">
         <Student>
              <Name>ram</Name>
              <Age>27</Age>
         </Student>
    <Student>
              <Name>sham</Name>
              <Age>26</Age>
         </Student>
    </StudentList>
    Now suppose i have set name to victor using student.setName,
    and set age to 20 using setAge from javacode,
    the new xml file is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <StudentList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\kchaitanya\xmlprac1\abc\Studlist.xsd">
         <Student>
              <Name>ram</Name>
              <Age>27</Age>
         </Student>
    <Student>
              <Name>sham</Name>
              <Age>26</Age>
         </Student>
    </StudentList>
    <Student>
              <Name>victor</Name>
              <Age>20</Age>
         </Student>
    As observed this is not a valid xml file.But how can i modify without any errors?

    I know it's an old post, but I found this while doing a google search for something else, and don't like to leave it un-aswered
    Just in case anyone has a similar problem... In this case the new elements have been appended outside of the root element
    What you need to do is first get the root element and then append the new children to that, there are several ways of getting the root element, which depend on what you want to do with the elements you get back here's a simple (incomplete) way.
    // gets the root element of the specified file (code not shown)
    Element rootElement= new SAXReader().read(file).getRootElement();Then just append the new elements as below (this is non-generic code and would need to be modified for your situation)
    // write a new student element
    Element student = document.createElement("Student");  // creates the new student
    rootElement.appendChild(student); // ***appends it to the root element***
    Element name = document.createElement("Name"); // creates the name element
    name.appendChild(document.createTextNode("Fred")); // adds the name text to the name element
    student.appendChild(name); // appends the name to the student
    Element age= document.createElement("Age"); // creates the age element
    age.appendChild(document.createTextNode("26")); // adds the age text to the age element
    student.appendChild(age); // appends the name to the studentThen flush ya buffers or whatever and write the file
    Edited by: Dream-Scourge on Apr 23, 2008 11:10 AM

  • How to Generate XML File from Java Code.

    I want to generate the xml file from the java code.
    Could you plz suggest any webSite address with example?

    Here is the code
    import java.io.File;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.FactoryConfigurationError;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    public class CreateXML {
         private DocumentBuilderFactory factory = null;
         private DocumentBuilder builder = null;
         private Document document = null;
         public CreateXML() {
              try {
                   factory = DocumentBuilderFactory.newInstance();
                   builder = factory.newDocumentBuilder();
                   document = builder.newDocument();
              } catch (FactoryConfigurationError e) {
                   e.printStackTrace();
              } catch (ParserConfigurationException e) {
                   e.printStackTrace();
         /** Creates the document for xml. */
         public Document createDocument(){
              try{               
                   Element root = document.createElement("Root");
                   Element child = document.createElement("child");
                   root.appendChild(child);
                   document.appendChild(root);
              }catch(RuntimeException e){
                   e.printStackTrace();
              return document;
         /** Saves the document as xml. */
         public void saveDocument(Document document){
              try{
                   TransformerFactory transFactory = TransformerFactory.newInstance();
                   Transformer transformer = transFactory.newTransformer();
                   DOMSource source = new DOMSource(document);
                   StreamResult stream = new StreamResult(new File("sample.xml"));
                   transformer.transform(source, stream);
                   System.out.println("XML Created !!");
              }catch(TransformerConfigurationException e){
                   e.printStackTrace();
              } catch (TransformerException e) {
                   e.printStackTrace();
         public static void main(String args[]){
              CreateXML createXML = new CreateXML();
              Document document = createXML.createDocument();
              createXML.saveDocument(document);
    }

Maybe you are looking for