Mobility Server Application

Hi All,
We have 13 sites with desktop and mobile version in production environment. These 13 mobile version sites are coded without Mobility server help. Now we want to get all these 13 sites on Mobility Server. What shall be done for this? Will the templates automatically be created for these 13 sites from the exisiting code. Else We will have to create new sites?
We have Webcenter Sites 11.1.1.8 version suite.
Thanks in advance.
Regards,
Kinjal Gala

Hi Kinjal,
You won't need to create new WCS sites, but you will need to set up Mobility Server Display Objects which will become the building blocks for your mobile sites. The existing data in WCS will be used by these Display Objects.
We would love to learn more about your project and offer implementation assistance should you need it.  As the OEM developer of Mobility Server, our company, netomat, Inc., is the leading expert on Mobility Server implementations.  Please email us at support at netomat.net.
Thanks

Similar Messages

  • Oracle Mobile Server as a cloud application ?

    Hi, Is it possible to run Oracle Mobile Server as a cloud application ?

    Hi,
    Yes
    http://www.oracle.com/us/corporate/features/complete-cloud/index.html
    Regards,
    Taj

  • 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

  • Using database views in ADF mobile client application

    Hi,
    I am using Jdeveloper 11.1.1.4 and WLS 10.3.4.
    I have developed a POC in ADF mobile client application both with and without synchronization. However, both work with entity objects based on tables.
    I need to use database views instead of tables. When I try to include entity object (based on views) in the view object, it shows an error saying "Only the entity objects based on tables can be selected"
    Please guide me if there is a work around for this.
    Also, please let me know if there is way to develop an ADF mobile client application skipping the use of entity objects at all and using view objects directly to specify the database query and fetch data from the database.
    Thanks in advance.
    Ansh
    Edited by: ansh on Mar 28, 2011 5:40 AM

    Hi, Ansh:
    Currently, out of box, ADF Mobile Client does not support synchronization against Database Views. This is because Mobile Server imposes some schema restrictions to ensure synchronization with multi-table views would work correctly. This schema restriction requires, for example, the view must have a primary parent table with key defined, and also all base table must be included in the data publication. These dependencies requires manual resolution and advanced planning, and is managed outside of the ADF Mobile Client/JDeveloper project.
    To continue development, you would need to create server Entity Objects directly against the base tables. You can then create the mobile ADF Business Component (EOs, VOs, etc). You can then create View Objects in your ADF Mobile Client application based on the database views, in order to retrieve the data you need exactly. In other words, instead of basing EO on the database view, create View Objects in the mobile applicaiton to mimic what you had in the View Object.
    Is there any other reason why you would need to access data via database views, instead of directly against base tables?
    Thanks,
    Joe Huang

  • Trying to set up a new DB and Mobile server ....

    I have a server runing ora 9i and mobile server 10.2 on linux,
    Now trying to change the server to a new one with linux and
    Oracle 10.1. and 10.3 as the mobile server.
    Did the following steps.
    1.All users were logged off in old server
    2.stopped mobile server
    2. Exported using system full db
    3. imported the same to new system
    4. Checked ADMIN_JDBC_URL,THIN_JDBC_URL and found the new server settings.
    . every thing is fine except mobile server part.
    when try to start mobile server it gives following.
    [oracle@test bin]$ ./runmobileserver
    2008-03-05 11:29:03.169 NOTIFICATION JMS Router is initiating ...
    2008-03-05 11:29:04.188 ERROR J2EE HTTP0004 Internal error raised tyring to instantiate web-application: webtogo defined in web site OC4J 10g (10.1.3) Default Web Site. Application: mobileserver does not exist. Error creating Web application: webtogo
    08/03/05 11:29:04 Oracle Containers for J2EE 10g (10.1.3.0.0) initialized
    Then tryied ./repwizard and it says system does not have required priviledge. But as to the help section all roles were assigned to System.
    if anyone has the correct method of transfering the entire db and mobileserver to a new server please post details.
    I need to sync clients on the new server without refreshing.
    Help is appreciated.

    Thanks rekounas,
    I was out of the office for few days and back again at work.
    I made a mistake while running the repwizard.
    now its ok.
    Problem was i was using mobileadmin to run repwizard.
    But i tried it with database schema(back end) user and password now ok and
    running on 10g r3. but it does a complete refresh on the new server. that takes time and i think there should be some parameter to make it only fast refresh.

  • Database 9i, and Mobile Server install history

    Dear Oracle technical representative:
    This TAR started out as a true request for help in solving installation problems with Oracle 9i Release 2 Enterprise Edition, and Oracle 9i Mobile Server Release 5.0.1, but it has turned into a history of frustration with out of date, laconic, and often incorrect, and misleading documentation. As a software developer, I understand that documentation is always out of date, at least mine is. Nonetheless, I must speak my mind while understanding, and sympathizing with your situation.
    I struggled through the documentation, and managed to get everything working. While I was doing that, I wrote down the step by step procedure that I used to get Database, and Mobile Server running. By sharing this rough install history with you, it is my hope that it will help prevent others from experiencing the same difficulties that I have had. It has been my observation that when a user has problems installing a trial software package they give up quickly, and do not purchase a copy. It is thus extremely important that the installation instructions, and quick start guide be accurate, attentive to detail, and well written. The first impression is the one that counts.
    The Oracle 9i Lite Installation, and Configuration Guide for Windows NT shipped with Oracle 9i Lite Release 5.0.1 definitely requires, and emergency rewrite. It is terribly out of date, inaccurate, and laconic. My guess is that it is a very sloppy rewrite of poorly written 8i documentation. The Oracle 9i Database Installation Guide for Windows is somewhat better. It however should do a better job informing you that before installing onto a old server the Microsoft Foundation Class (MFC), and VC runtime libraries must be up to date. The history describes the trouble with not having the MFC42.dll at version 6. Another corker is that the default port the installer presents is 2030, and not 1521, and that leads to major confusion in the both the Database, and Mobile Server installs.
    Thank you for looking at the history. I hope that it will be of use to you when you update your documentation.
    Thomas G. Matney
    Mississippi State University
    [email protected]
    (662)325-2791
    TAR for Oracle 9i Release 2 Database Enterprise Edition, and Oracle Lite Release 5.0.1 Mobile Server
    Installation problems are highlighted in red.
    Installation sequence/history:
         1. Installed Windows NT 4.0 Server SP1 on Dell Power Edge 4300 dual x86 server to wipe the slate clean.
         2. Setup TCP/IP, and IPX/SPX networks
              Computer name YGGDRASILL
              Host name = YGGDRASILL
              Domain = CFR.MSSTATE.EDU
              Internet name = YGGDRASILL.CFR.MSSATE.EDU = 130.18.130.225
         3. Installed NT SP3, and Internet Explorer 4.01 from the NT 40 Options Pack CD as the gateway to installing MTS 2.0, and IIS 4.0.
         4. Installed MTS 2.0, and IIS 4.0 from NT 4.0 Optins Pack CD.
         5. Applied NT 4.0 SP6.
         6. Installed Internet Explorer 5.5 as a prerequisite to installing MADAC 2.6.          
         7. Installed MDAC 2.6
         8. Installed Paint Shop Pro 7 for capturing error screens.
         9. As previous install errors stated that the ordinal function xxxx could not be found in MFC42.dll, the latest version (6.0.8665.0) of the dll was installed, and registered from MS VC++ SP5. Also I upgraded MSVCIRT.dll, MSVCRT.dll, MSCRT40.dll, and added MSVC60.dll from SP5 to be on the safe side.
    According to the installation documents all the prerequisites for installing Oracle 9i Release 2 Database Enterprise Edition are satisfied.
         10. Began install of Oracle Database Enterprise Edition with target parameters:
              Home directory = D:\Oracle\Ora92
              Database directory = D:\Oracle\oradata
              Global database name = FIA.YGGDRASILL.CFR.MSSTATE.EDU
              Port = 2030
              SID = FIA
              SYSTEM Password = phwphw
              SYS Password = phwphw
              SCOTT Password = phwphw
              DBSNMP Password = I left this one unassigned or empty.
              tnsnames.ora entry for remote TCP/IP connection
              a. CD 1 of 3 load
                   1. Error writting to MFC42u.dll. Action ignore. A check indicated that MFC42u.dll version did not match the updated version of MFC42.dll. Plan is to update after install. Unicode version of MFC is probably not used by the installer.
              b. CD 1 completed with only one problem, and CD 2 load begins.
              c. CD 2 installed without incident., and CD 3 load begins, and completes without farther problems. The only issue to address at this time is to update the MFC42u.dll.
                   HTTP Server URLs
                        http://7778
                        https://4443
         12. Evaluation of install success begins.
              a. Oracle HTTP Service will not start. It is of particular interest that on installs that I do not upgrade the MFC42.dll the Oracle HTTP Service will start correctly, but during the install I get the error message Ordinal nnnn not found in MFC42.dll, and the Oracle MTS Recovery Service crashes during the install. I am caught between a rock and hard spot on this one. See the Figure 1. At the end of this document. I do not need the HTTP Server at this time but I will need it later and this issue must be resolved. It appears that it hangs during startup. I am sorry but I lost the ordinal number nnnn.
              When I try to start the HTTP server from the Programs menu. It Hangs, and does not return an error message. See Figure 2, and the included Apache Setup.txt, the install log, and the HTTPd.conf . The conf, and setup files look OK to me. What is the problem?          
              b. All other services start correctly.
              c. Logged into the database as SCOTT on the server with SQL Plus using the connection information:
                   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)
              I created some tables, inserted data, and queried for the data. Everthing seems to be working correctly.
              d. Logged in remotely from my AOL account on a dial-up line using Oracle 9i Release 2 Personal Edition installed on my ThinkPad. Every thing tested out as above. I used the connection information:
                   FIA.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)
         13. I concluded that except for the Oracle HTTP Server Service not starting correctly, and that after updating the MFC42u.dll to VC++ SP5 level the stage is set for installing Oracle 9i Mobile Server Release 5.0.1. I copied the MFC42u.dll to the server and registered it successfully.
         14. As Visual Studio 6.0 Professional updates all of the MFC stuff, I decides to install it at this juncture, and apply SP5.
         15. Installed JDK1.3.1 required for Oracle 9i Mobile Server Release 5.0.1
    At this time the prerequisites for installing Oracle 9i Mobile Server Release 5.0.1 are satisfied, and MFC, and rt are at version 6.
    It is important to note that after installing MS Visual Studio Professional 6.0 SP5, the HTTP server started working. It is clear that prior to installing Oracle Database it is essential that MFC, and possibly other components are upgraded before starting an installation of Oracle. This probably only applies to old NT servers, but it should be mentioned in the installation instructions.
         16. Attempt to install Oracle Mobile Server Release 5.0.1
              a. File locations Screen
                   Name: = OraLite501               
                   Path: = D:\OraLite501
              b. Select Mobile Server at Installation Screen
              c. Mobile Server Repository Database Information Screen
                   Hostname = YGGDRASILL = hostname from tnsnames.ora
                   Port = 2030 = same as Database port
                        It is troublesome that the port in tsnames.ora is 1521, and not 2030 as was specified in the database install. I will try this port on the reinstall. On the retry, it worked. The problem was that I was mislead by the default port of 2030 at the database install. The database was actually installed on port 1521, and I was not given an error message, or warning. As I am a first time installer of Oracle products this threw me for a loop. The default port for the database needs to be 1521, if regardless of what the user specifies for a port you are going to install on port 1521.
                   Net Service Name = FIA.YGGDRASILL.CFR.MSSTATE.EDU = Global database name as required by installation instructions.
              d. Yes. At Do you want to install the Mobile Server Repository question.
              e. At Oracle Protocol Support, I checked the SPX box.
              f. Summary, and Install screens function to specifications.
              g. Mobile Server Repository Wizard
                   Database System password:
                        Password = phwphw
              h. Mobile Server Repository Wizard
                   Schema Name: fiafield
                   Password : fiafield
              i. Success at last with the install part. The problem was the wrong port number. See my above comments on this problem, and how Oracle could grease the skids for the next first time installer.
         j. I could not find the httpd.conf file in the place the install instructions said it should be for running the Mobile Server in Oracle HTTP Server. Since only one copy of httpd.conf existed, I added the include D:\OraLite501\mobile\server\bin\wtgias.conf to the bottom of the file assuming that it is the correct one. I the re-booted instead of using apache -k restart. The Oracle HTTP Server started, so there is hope. The install instructions state that the httpd.conf file would most likely be in the program files directory, when they are really installed in the Oracle Lite home directory.
         k. According to the documentation the Mobile Server should start when the Oracle HTTP Server starts with the wtgias.conf file added to the httpd.conf file. It does not. If I use Process Explorer, I know that Apache loaded the wtgias.conf, because both Apache.exe processes that are running have the wtgias.dll loaded. The facts are at this stage of the game are
              1. OraMTSRecoveryService is started
              2. OracleOraHome92HTTPService is started
              3. OracleOraHome92Listener is started on port
              4. OracleServiceFIA is started
              5. Apache.exe has the wtgias.dll loaded
              6. The Moble Server is not running and it should be if the documentation is correct.
              7. If I start the Mobile Server either as a service using wtgsvc -i or with the webtogo command from the DOS prompt, the Mobile Server starts, but when I attempt to log in with the URL http://Yggdrasill:7778/webtogo/startup it inform me the Mobile Server is not started and it is. Figure 3 shows the response I receive from the login attempt.
         l. I finally ran the Mobile Server in total debug mode using the command webtogo -d0", and it gave me the subtle hint that the correct URL is
              http://Yggdrasill.cfr.msstate.edu/webtogo/startup.
         When I use the above URL and I can login to the Mobile Server with UN = fiafield, and PW = fiafield. I was confused by the documentation. I was under the assumption that the host address would be either http://Yggdrasill:7778, or http://Yggdrasill:4443. After all when I, installed Oracle Database these URLs were listed. It needs to be made clear in the installation guide for the mobile server that the Mobile Server address is http://Your servers WWW address/webtogo/startup, and the statements about the Mobile Server will start when the Oracle HTTP Server is started needs to be removed since they are incorrect. Also, the documentation should clearly state that the Schema Name, and Password given in the Repository Wizard Screen are synonymous with the username, and password for the Mobile Server login.
         m. After determning the hard way that the Mobile Server does not start when the the Oracle HTTP Server starts, and that the correct URL is http://Internet address/webtogo/startup = http://Yggdrasill.cfr.msstate.edu/webtogo/startup, I decide to start the Mobile Server as a service with the command wtgsvc -i. After I re-booted, to my surprise, I could not login to the Mobile Server. When I checked the system services, the webtogo service was running. So to give the start as a service thing a fair chance I re-booted again, but obtained the same results. I thus concluded that the Mobile Server will not run correctly as a service. As it turns out my conclusion was wrong. After waiting a few minutes, my login try was successful. The documentation should indicate that after booting it may be a minute or two before the Mobile Server service become available.
         n. After some serious problems with the installer, and the documentation everything is working. I have a green light to go on to the next stage, which is program the handheld to take advantage of the Mobile Server. I will be glad to get back to programming, and am so thankful that I am not a network administrator.
         Appendix
    HTTPd.Conf (Abstract only), Apache Setup.txt,
    tsnames.ora, and listener.ora.
    HTTPd.conf (Abstract only)
    # Based upon the NCSA server configuration files originally by Rob McCool.
    # Include the Oracle configuration file for custom settings
    include "D:\oracle\ora92\Apache\Apache\conf\oracle_apache.conf"
    include "D:\OraLite501\mobile\server\bin\wtgias.conf "
         tsnames.ora
    # 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)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
              listener.ora
    # LISTENER.ORA Network Configuration File: D:\oracle\ora92\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    (ORACLE_HOME = D:\oracle\ora92)
    (SID_NAME = FIA)
              Apache SetupInfo.txt
    The following information is available in:
    D:\oracle\ora92\Apache\Apache\setupinfo.txt
    The HTTP Server can be accessed using the following URLs:
    http://yggdrasill:7778
    https://yggdrasill:4443

    When you install the MD Workstation you are opted to choose among different applications i.e. mobile sales, mobile service, mobile system maintenance or authorization management tool. You can there choose the application to install besides the installation of the MD Workstation.
    If you want to add application(s) later, you have to choose 'modify' and choose all parts for the MD Workstation plus the applications. If you omit options chosen before when doing the first installation then these will be removed. So be shure to choose ALL relevant things for the application as well as for the MD Workstation.
    You can also generate the application from the installed repository, there are several notes on this subject available ('how to generate an application') which are referred to in about any installation guide or note changing the msa coding.
    Regards Kai

  • Deploy Oracle Mobile Server on Weblogic?

    Hello,
    We currently have a client-server application which communicates over HTTP with a BEA Weblogic 8 server on Solaris, and are assessing the feasibility of creating an offline client using Oracle Lite.
    Ideally, we would like to install the mobile-server on our existing server, but this brings the problem that the current weblogic is already listening on the HTTP port, and the site policy at our customer site does not allow for any traffic to non-HTTP ports. Can we deploy the Oracle mobile server within this same Weblogic instance, or do we have to acquire a new server machine, which will then run only the mobile server?
    Appreciate any information which can be provided.
    Best wishes,
    Roshan

    The simple answer is no. Oracle Mobile Server is designed to run under a OC4J container. Can you use a port like 8080?
    I am currently working on this setup and we split the application servers Weblogic and Oracle AS.

  • Error when starting Mobile Server

    Hi All I installed OLite mobile server onto my laptop with my Oracle 10g install also on the same laptop.
    Initially everything worked fine and I built the win 32 disconnected app and it ran.
    Now when I start the OLite mobile server on my laptop I get an exception, (below) can anyone help me with what might be the problem?
    2008-02-08 09:35:25.640 ERROR Failed to set the internal configuration of the OC
    4J JMS Server with: XMLJMSServerConfig[file:/D:/Oracle/product/10.2.0/db_1/mobil
    e_oc4j/j2ee/mobileserver/config/jms.xml]
    08/02/08 09:35:25 *** (SEVERE) Failed to set the internal configuration of the O
    C4J JMS Server with: XMLJMSServerConfig[file:/D:/Oracle/product/10.2.0/db_1/mobi
    le_oc4j/j2ee/mobileserver/config/jms.xml]
    2008-02-08 09:35:25.640 ERROR J2EE OJR0011 Exception starting JMS server: Failed
    to set the internal configuration of the OC4J JMS Server with: XMLJMSServerConf
    ig[file:/D:/Oracle/product/10.2.0/db_1/mobile_oc4j/j2ee/mobileserver/config/jms.
    xml]
    2008-02-08 09:35:27.859 WARNING J2EE JNDI0001 Resource Environment reference jms
    /store not found. Allowing J2EEContext creation to continue anyway.
    2008-02-08 09:35:27.859 WARNING J2EE JNDI0001 Resource Environment reference jms
    /eventQueue not found. Allowing J2EEContext creation to continue anyway.
    2008-02-08 09:35:27.859 WARNING J2EE JNDI0001 Resource Environment reference jms
    /notificationQueue not found. Allowing J2EEContext creation to continue anyway.
    2008-02-08 09:35:27.906 WARNING J2EE JNDI0001 Resource Environment reference jms
    /eventQueue not found. Allowing J2EEContext creation to continue anyway.
    2008-02-08 09:35:27.906 WARNING J2EE JNDI0001 Resource Environment reference jms
    /notificationQueue not found. Allowing J2EEContext creation to continue anyway.
    2008-02-08 09:35:27.906 ERROR J2EE EJB3027 [default] An error occured deploying
    EJB module: java.lang.InstantiationException: Resource exception(OracleASjms) fo
    r MessageDrivenBean event during endpoint activation: failure looking up Connect
    ionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi.ResourceAdap
    terInternalException: Looking up jms/XAQueueConnectionFactory: javax.naming.Name
    NotFoundException: jms/XAQueueConnectionFactory not found
    08/02/08 09:35:27 WARNING: Application.setConfig Application: default is in fail
    ed state as initialization failedjava.lang.InstantiationException: Error initial
    izing ejb-modules: Resource exception(OracleASjms) for MessageDrivenBean event d
    uring endpoint activation: failure looking up ConnectionFactoryJndiName:jms/XAQu
    eueConnectionFactory: javax.resource.spi.ResourceAdapterInternalException: Looki
    ng up jms/XAQueueConnectionFactory: javax.naming.NameNotFoundException: jms/XAQu
    eueConnectionFactory not found
    Feb 8, 2008 9:35:27 AM com.evermind.server.Application setConfig
    WARNING: Application: default is in failed state as initialization failedjava.la
    ng.InstantiationException: Error initializing ejb-modules: Resource exception(Or
    acleASjms) for MessageDrivenBean event during endpoint activation: failure looki
    ng up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi
    .ResourceAdapterInternalException: Looking up jms/XAQueueConnectionFactory: java
    x.naming.NameNotFoundException: jms/XAQueueConnectionFactory not found
    2008-02-08 09:35:27.953 WARNING DEBUG GJRA-1100, oracle.j2ee.connector.messagein
    flow.MessageEndpointFactoryImpl@11fcdde.
    08/02/08 09:35:28 Error initializing server: Error initializing ejb-modules: Res
    ource exception(OracleASjms) for MessageDrivenBean event during endpoint activat
    ion: failure looking up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory:
    javax.resource.spi.ResourceAdapterInternalException: Looking up jms/XAQueueConne
    ctionFactory: javax.naming.NameNotFoundException: jms/XAQueueConnectionFactory n
    ot found
    2008-02-08 09:35:28.578 WARNING J2EE JTA RecoveryManager is null during shut
    down
    08/02/08 09:35:28 Fatal error: server exiting
    Press any key to continue . . .

    Standalone.
    I'm removing and then reinstalling with auto-update turned off the error seemed to happen after I did an update.
    Anyway to gracefully shutdown the Mobile Server? This is on windows I'm wondering if "crashing" out of it may have caused the issue also.

  • How to set Data Subsetting Parameters in MOBILE SERVER

    Hello.
    How can I set data subsetting parameters in Mobile Server with patch 5.0.2.10.0 NLS.
    From Mobile Server "Control Center" -> "Applications" it's not appears at left screen the following field:
    * Data Subsetting
    * Registry
    * Access
    * Files
    The browser appears this error message:
    "http://120.0.0.1:2000/webtogo/admin/console/apppropinfo?applicationvp=%2FMyApp"
    Have you any idea for this problem?
    Thanks All.

    Thanks Oliver,
    I have to go in control center in "applications tab" then i have the list of application and i edit one of them, on the left clic Data Subsetting it's not appears.
    The following it not appears:
    * Data Subsetting
    * Registry
    * Access
    * Files
    The browser (internet explorer) appears (at buttom on the left browser) this error message:
    "error http://127.0.0.1:2000/webtogo/admin/console/apppropinfo?applicationvp=%2FMyApp missing link".
    Whereas (Oliver's solution) in Mobile Server "Control Center" -> "Users Tabs"
    i have the list of users go and i edit one of them, on the left clic Data Subsetting then clic on the right pan platform and then i see but not parameter are definited.
    Help me please.

  • Oracle Database Mobile Server 11 sync

    Hi,
    I have two simple tables in the back-end oracle database in order to create a meeting-room android application with and embebbed SQLite database on the client devices. I have written all the functionality to register, authenticate, create a new appointent, show it, and delete it and it works fine on my smartphone, but I did all these steps against the local sqlite db.
    Now I would like to share the reserves info with all the clients by synchronization using Oracle Database Mobile Server 11.
    Tables:
    Employees(ID, username, password, firstname, lastname, phone, email)
    Reserves(ID, subject, firstname, lastname, start_date, end_date, meeting_room, alarm)
    I have configured all the publications required (app , item, users, grants...) with the Workbench tool, like i have read from the official documentation and i added the lines to invoke the sync functionality. My problem is that when i launch the first sync the sqlite database in created on the device but the few records on the back-end are not replicated in the sqlite db. ¿is this process automatic or have I to write some code to catch this info?
    Another problem is that the records of the sqlite database is neither replicated to the back-end database. I have to say that th sync process ends succesfully but I can see nothing on the in-queue and out-queue queues in the mobile manager console. So, what´s about this incomind and outcoming data? Th only thing i can see is a set of dirty records, these records are records on the back-end db, but I dont know what means...
    Could you help me please?
    Thank you very much.

    Hi
    Data Subsetting is to restrict the data each Client sees based on values you specify i.e.
    If you only wanted a Client to see data for a specific Dept you could specify the following in the Publication Item
    Select * from emp where DEPTNO = :DEPTNO
    You can define what DEPTNO should be for each Client in the Mobile Server
    So in your case if you want ALL Client to see ALL records for a Publication Item then you should not specify any Data Subsetting i.e.
    Select * from emp - This would retrieve all rows
    There is no specific need to use Sequences in your Application unless you want to. Obviously you must make sure that any new records created on the Client will not conflict with a record created on a different Client otherwise conflicts will occur after the data is synchronized with the server
    With regards to you actual issue can you confirm the following ( NO NOT CHANGE ANY VALUES )
    1. Check the table mobileadmin.applications in the Repository DB and confirm there is a row there for your Application and that the 'Publication' column contains the correct Publication you created in MDW.
    2. Check the Table C$ALL_CLIENT_ITEMS, this should contain one row for each Publication Item you created in MDW i.e.
    Select PUBLICATION_ITEM, DIRTY, CRR From C$ALL_CLIENT_ITEMS Where CLIENTID = '<Your Client Name>';
    regards
    Richard

  • Oracle Mobile Server with SQLLite/Berkeley Db and dbsql

    Hi all,
    i am not sure if i am correct here but hopefully i am.
    In the past we have had Oracle Mobile Server with Oracle Lite.
    We decided to switch to new mobile Server because oracle webtogo is not longer supported and incompatible with windows 7. My administrator did migration of mobile server but migration utility reported that the available applications are incompatible.
    So I decided to create a completely New Publication with a Java application. The new Publication contains only one publication Item. For the first tests I simply wanted to spool out the data contained in my local database.
    In bin directory of sqlite folder i can find a utility named "dbsql". I understood it in this way that I can attach to an existing database file and take a look into that database.
    If i call dbsql.exe BerkeleyTest all seems to be ok. But if i try to select some data from that file i only get the errormessage that databse is in wrong format or encrypted. What am i doing wrong there?
    Am I right that the sql interface (I need that interface because I dont want to rewrite dataaccesslayer of my app) is only available in sqlite but not on "BerkeleyDb"?
    Is anyone here to help me a little bit with my problem here?
    Regards!
    Martin

    I do not know much about Oracle Mobile Server with Oracle Lite, does it use SQLite or BDB?  I do know that databases created by SQLite cannot be read by Berkeley DB SQL (of which dbsql.exe is part of), and databases created by Berkeley DB SQL cannot be read by SQLite.  Also, databases created by Berkeley DB outside of the SQL API cannot be read by the BDB SQL API.  You can open BDB SQL databases with BDB outside of the SQL API, but I would not recommend that outside of a few BDB utilities described in the documentation.  So if your BerkeleyTest database was created by SQLite or BDB outside of the SQL API, then it makes sense that dbsql.exe is returning an error when trying to read it.
    Calling dbsql.exe BerkeleyTest does not open the database, that happens when the first operation is performed on it, which is why you did not get an error until you tried to select something.
    Lauren Foutz

  • Error on the mobile server

    Hi to all,
    I installed mobile server on IAS in Windows XP, but when I am trying to access to the mobile manager appear the following error;
    500 Internal Server Error
    java.lang.NullPointerException     at oracle.lite.web.util.TaggedHtml.parse(Unknown Source)     at oracle.lite.web.util.TaggedHtml.init(Unknown Source)     at oracle.lite.web.WebtogoLogonPage.init(Unknown Source)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpApplication.loadServlet(HttpApplication.java:2354)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpApplication.findServlet(HttpApplication.java:4795)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:2821)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:680)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)     at java.lang.Thread.run(Thread.java:534)
    What Can I do?

    Did you install IAS and Mobile Server on the same ORACLE_HOME?

  • JBO-27122 error in ADF mobile client application for blackberry

    Hi,
    I am trying to develop a simple ADF mobile client application for blackberry. Currently, working only with Blackberry 9700 simulator. I am using the following for development:
    - Jdev 11.1.1.3
    - Oracle database lite 10.3.3
    I have done all the steps as given in the oracle demo. But when I try to run the application in blackberry simulator, the page shows the following error:
    ERROR: failed to change page
    oracle.jbo.server.DBTransactionImpl.createPreparedStatement: JBO-27122: SQL error during statement preparation. Statement: select po_header_id from po_headers_all where po_header_id=1
    [oracle.jbo.server.DBTransactionImpl.createPreparedStatement] Encountered exception executing query on ViewObject: header1
    [oracle.jbo.server.DBTransactionImpl.createPreparedStatement] Error retrieving BindingContainer : 'mobile_twoPageDef'
    oracle.adfnmc.java.sql.SQLException:
    oracle.adfnmc.java.sql.SQLException:net.rim.device.api.database.DatabaseException: select po_header_id from po_headers_all where po_header_id=1 : SQL logic error or missing database
    Unable to create/prepare native statement with SQL select po_header_id from po_headers_all from po_header_id=1
    Unable to create PreparedStatement with SQL select po_header_id from po_headers_all from po_header_id=1
    Please suggest what could have been wrong while developing or deploying the application.
    P.S. : The view object (header) shows data successfully when run in the application module. Also, a .db file gets created in the SD card folder. The synchronisation is a success when mSync.exe file is run in the <Oracle_Home>/Mobile/Server/Sdk/bin.

    Sorry my content got repeated.
    you can go through this thread FOD mobile db sync with base adf server db not working
    there is link that you can follow for synchronization (check second last message)
    Edited by: Nikhil Gokhale on Apr 17, 2011 3:55 AM

  • Oracle Mobile Server 11G with BerkeleyDB/SQLite

    Hi all,
    Actually I have got following situation:
    There are 2 Java apps that are running on Oracle Lite. Due to our Win 7 migration und outrunning support of Support for Oracle Lite we decided to migrate to Oracle Mobile Server 11 G and switch to Berkeley DB. So far so good.
    During migration my administrator reported warnings from migration utility that the apps are not compatible and aren't migrated. Within these applications databaseaccess is done via JDBC and SQL. There is no time and money to rewrite dataaccess layer, so I need SQL Access to Berkeley DB.
    For my first tests I created via Mobile Server API a new Publication that contains simply one publication Item that is in One Way Synchronization (Server to Client) . I wanted to take a look into the submitted Database File. For that I found dbsql.exe. I called this app via command line with: "dbsql.exe MyDb.db". DBSql started but returned an error that SQL Statement is incomplete?!. Any idea? For that new publictation i also wrote a testapp that should spool out the contents of publication Item in a later step.
    Ok now i took a new look into internet for getting information about SQL Support. There I found that Berkeley DB now is able to speak SQLite. So it seems that new database is able to speak SQL via SQLite. Is that correct?
    I switched now in MobileServer Console my testapp to SQLite Win32; US and installed the SQLite client on my computer. My next try was to connect this database to dbsql.exe. The call of dbsql.exe "MyDb.db" returned that error that databse is eather corrupted or encrypted.
    I was really unable to find a guide how to use that SQL API for Berkely DB. Which .jars should I import in my Java app? How is connection been made?
    Is here anyone that can help me a little bit out?
    Many many thanks in advance!
    Martin

    Hi, I see that this thread is old a little bit.  Do you still need help on it?  I have been able to create a publication with Mobile Server 11G with Berkeley DB as the client database.  I have also found the jar to use to access the client database in java.  Please let me know in you still need it and i'll post it here.

  • How to Access Web service with ADF Mobile Browser Application

    hi all,
    My Jdeveloper version is 11g 2 release(Version 11.1.2.2.0). I need to know If I create a web application and put it on a server as a web service., Then I create a Mobile browser application and need to access that web service.
    If it is possible, how should I do? version are same in both application.
    hopping any clue..
    Thxs.

    You can go thru the below links :
    ADF Mobile HowTos: Consuming SOAP web service in ADF Mobile using WS DC
    Oracle JDeveloper 11g Release 2 Tutorials - Building Mobile Applications with Oracle ADF Mobile

Maybe you are looking for

  • Quicksilver 2002, best AGP card that I can use ADC port?

    I currently have a 2002 QS 933mhz, and would like to add Core Image support. However, I am kind of on a budget, and need to still be able to use my 17'' ADC studio display. I'm okay with having to tape pins 3 and 11 if necessary, but I need the card

  • Any other Cox users having trouble sending?

    Was just wondering if any other cox communications email users are having trouble sending email when using 3G? When I'm home and connected to my wifi, it's fine. but as soon as I leave the house and try to send from my cox accounts, it tells me the s

  • Error in start OBIEE server - [nQSError: 46036] Internal Assertion

    I have OBIEE installed on Linux 5, the database server is on another Linux on the same network. I configured a RPD file using the Admin Tool and ftp it to the OBIEE server. I then changed the NQSConfig.INI file to point to the new RPD file. Start the

  • OEM 12c SLB - Easy way to tell which OMS

    Hello, We are using OEM 12c and followed the HA guidelines to setup an SLB. The SLB is working as desired for logins and agent uploads. However, it is trivial to tell which OMS you are logged into (in a multi OMS environment) when using the SLB. In 1

  • ICal duplicates on iPod Touch

    I've duplicates syncing with my iCal and iPod Touch. I use Mobile Me and have also synced using iTunes, including the overwrite option. I've reset the ipod too. But still got duplicates. Any ideas? I'm unwilling to restore the ipod.