Contribute Publishing Server and SSO
Hello,
Does anyone know how to integrate Single Sign on (SSO) for
contribute publishing server? Basically instead of contribute
asking for authentication it sends out a request. In my
circumstance I need it to authenticate via Smart card instaed of
username /password
Thanks!
I guess I didn't see anything from Macromedia that tells me
that CPS works with the new version. I'm not looking for new
features. I just want to make sure there aren't any
incompatibilities, outstanding bugs.
Similar Messages
-
Contribute Publishing Server and Contribute CS3?
Is Contribute CS3 compatible with Contribute Publishing
Server? If not, does anyone know if an update to CPS is coming
soon? It's still at version 1.11. Yikes!I guess I didn't see anything from Macromedia that tells me
that CPS works with the new version. I'm not looking for new
features. I just want to make sure there aren't any
incompatibilities, outstanding bugs. -
Do I need Contribute AND Contribute Publishing Server?
Do I need to have Contribute Publishing Server installed on
the web server on order to update web pages with Contribute?
- AndreaHi,
I downloaded the trial of contribute cs3 and was able to
update web pages without cps. I'm still trying to figure out
exactly what cps does though?
Mark -
We have just upgraded to Windows Server 2008 64 bit. I can
not find any documentation if Contribute Publishing Server will
install and work in that environment. Does anyone know?????
Thanks,
AndyI got it to work by copying a previous installation from Windows Server 2003 to Windows Server 2008
http://onceuponans.blogspot.com/2009/04/installing-contribute-publishing.html
-Andy -
Contribute Publishing Server - forgot password!
We have Contribute Publishing Server running and have forgotten the admin password. How do we reset this?
thanks.I guess I didn't see anything from Macromedia that tells me
that CPS works with the new version. I'm not looking for new
features. I just want to make sure there aren't any
incompatibilities, outstanding bugs. -
Can not install contribute publishing server on linux
Hi, All:
I try to install the contribute publishing server on Red Hat
Linux and Sun Solaris.
It works very well on Sun Solaris.
But I have problem in installing on Red Hat 64 bit Fedora
core 6 machine, and got the error message:
"gzip: /tmp/install.dir.20676/Linux/resource/vm.tar.Z: not in
gzip format"
I even manually try to use "uncompress", "zcat" to uncompress
/tmp/install.dir.20676/Linux/resource/vm.tar.Z
but it did not work.
Any idea or suggestion will be appreciated.
Thanks.it requires a minimum of Windows 7 SP 1 before installing SQL server 2008.
It can be downloaded from below:
http://support.microsoft.com/kb/976932/en-us
For more details check below:
http://msdn.microsoft.com/en-us/library/ms143506.aspx
Please click the Mark as answer button and vote as helpful if this reply solves your problem -
Contribute Publishing Services and Windows Server 2008
Has anybody been able to install Contribute Publishing Services 1.11 on a 32-bit Windows Server 2008? Any information would be greatly appreciated.
I was able to get it "installed" by copying a previous installation from Windows Server 2003 to Windows Server 2008. Got a blog post about it here:
http://onceuponans.blogspot.com/2009/04/installing-contribute-publishing.html
I think our next rev of the website probably won't use Contribute any more. Too bad, really - I rather liked it.
-Andy -
Contribute 6.5 + Contribute Publishing Server
Does CPS get installed when you install Contribute 6.5 on a server? I can't find the CPS 1.11 installer ANYWHERE!
We purchased CPS several years ago, and have a valid license (and license code). We need to move the CPS server to a new piece of hardware, which is why we need the installation media.
Adobe's web site has the CPS updater ( version 1.0 -> 1.1 ).
We've looked for the installation media in the Adobe Licensing Portal - nothing there.
Doing web searches pulled up a few online discussions, one of which implies that the CPS installation files/media might be bundled with the Contribute 6.5 installation media. Our testing and your feedback confirms that is not the case. -
Contribute Publishing server log in error
CPS server is returning the following error in a dialog while entering the password on the admin console.
"No default implementation found" . The application used to work for last 10 months without any issues. Looks like some files corrupted.
Is any one received this message before?
Thanks for your helpI got the solution. This is what I did.
These errors are caused by a classloading conflict involving different versions of the Xalan XSLT processor classes shipped with ColdFusion MX 7.0.2 and Websphere 5.1.1.SolutionTo resolve these errors, stop your Websphere server, remove xalan.jar from the /cfusion.war/WEB-INF/cfusion/lib directory and restart your Websphere server. This will cause ColdFusion to use the Xalan classes included in the /WebSphere/java/jre/lib/xml.jar directory. -
Error when enabling publishing server
The Contribute Publishing Server console on my web server
provides the following URL for enabling publishing services:
Click Enable Publishing Server, and enter:
https://svr-ehrenwerks:8900/contribute/
In Contribute, when I adminster the website and attempt to
"enable publishing server" using the provided URL, an error message
shows up telling me the publishing server at
https://svr-ehrenwerks:8900/contribute/ does not respond.
This URL does not exist on my win2003 server. My guess is I
need to set up an actual domain to replace the svr-ehrenwerks part
of the url and include a virtual directory called "contribute"
under this domain in order to make all this happen. Please help me
"enable my publishing server." Thanks!kurtanp wrote:
> The Contribute Publishing Server console on my web
server provides the
> following URL for enabling publishing services:
> Click Enable Publishing Server, and enter:
> https://svr-ehrenwerks:8900/contribute/
> In Contribute, when I adminster the website and attempt
to "enable publishing
> server" using the provided URL, an error message shows
up telling me the
> publishing server at
https://svr-ehrenwerks:8900/contribute/ does not respond.
> This URL does not exist on my win2003 server. My guess
is I need to set up an
> actual domain to replace the svr-ehrenwerks part of the
url and include a
> virtual directory called "contribute" under this domain
in order to make all
> this happen. Please help me "enable my publishing
server." Thanks!
>
How did you install CPS? Which OS are you running?
1. Simple Installation
2. War Based installation (deploying war file on your app
server)
Nope you dont need to create virtual directory---
Once you install CPS 1.x? (Simple installation), at the end
of
successful installation, go to your browser and type
https://localhost:8900/contribute/ and see that you are
viewing the
certificate and it allows you to login.
you dont need to create any virtual directory.. -
Cannot save changes when enabling Publishing Server
I have Contribute 4 with Contribute Publishing Server 1.11.
I'm able to setup normal Contribute sites fine and was able to
setup one Publishing Server site. Now though, whenever I try to
enable Publishing Server on a site, it enables alright but when I
close the Site Administration window I get an error that says
"Contribute cannot save your changes to the website's shared
settings on the server".
I've tried checking permissions; everything seems 'liberal'
enough like Contribute likes it. I've reinstalled Publishing Server
(including deleting any _mm folders). I've attempted deleting and
re-adding sites more times than I can count. Nothing has seemed to
make a difference. Has anyone experienced this problem or have any
ideas what might be going on? Thanks very much!
Nathan WilliamsHello Nathan, I'm using Contribute 3.11 (without Publishing
Server) and I'm experiencing the same issue: "while trying to setup
the admin password".
It seems to me that this is a bug from Macromedia... and
hopefully they will respond to us.
Alan Q. -
Staging Server and Live Server
Hello - Looking for examples from others on how they handle having a staging server and a seperate live server for their websites when using Contribute. We are making the transition from Frontpage to Contribute, and Frontpage always had a "Publish Website" feature that allowed you to update your staging server files to the live server automatically in Frontpage. I'm not seeing anything similiar in Contribute, but then again, I am very new to Contribute so maybe I am missing something. I guess I am looking for any tips and real world examples on how others are doing this. We are going to have roughly 35 websites, so creating an FTP process that runs each night for each website is really not ideal in my opinion.
Thanks!This is not possible with having Contribute alone. But the same is possible with the combination of Contribue and Contribute Publishing Server (CPS). Please refer to, http://help.adobe.com/en_US/contribute/cs/deploy/WS5b3ccc516d4fbf351e63e3d117a7496df1-7ff9 .html
Hope this helps you. -
Transfering reports to other publisher server
Hi all,
First of all, all the best wishes.
Is it possible to copy the reports that you made on a 'devolop' publisher server to a 'test'publisher server, and so on?
Or what are the best pracitices to work with this problem?
I can't find anything about this in the manual or in blogs.
We are working with an OTAP street (this must be DTAP street in english or something)
(Develop, Test, Acceptation, Production) so we want to copy reports from one server to another.Hi,
you can copy and paste the folders of one repository to the other and synchronize via the UI as Administrator. A pitfall could be the datasource names in the xdo-file. If you only have changed the templates (rtf) you don't need to synchronize, they are used automatically with the next call ... that's the way I use, but perhaps there's something more sophisticated.
Regards
Rainer -
BARS data (when replacing publisher server)
Hi there,
I gonna replace the publisher server and then connect the new publisher with the existing subscriber.
My question is:
When I run BARS and choose the data source server, should I choos both publisher and subscriber server?
Or just publisher server?
I read the BARS document as follows,
http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_administration_guide_chapter09186a00807a78ce.html
And "Replacing Servers During the Upgrade" as follows, http://www.cisco.com/univercd/cc/td/doc/product/voice/c_callmg/4_1/install/upgrade/upg413/replace.htm
Those documents don't include the detailed information.
Thanks.Hi Qinghao, Thanks man!
Good stuff, you are halfway there! The db replication problem and DC directory health problem are most likely related;
Interpreting the Results
The validation results display in the Upgrade Assistant Summary window. At the top of the window, a report summarizes the results for all modules and displays which modules failed, which modules produced warnings, and which modules passed. A link to the folder that contains all log files, including the Upgrade Assistant Summary report, displays also.
To identify a problem with the failed validation module, review the following information that displays in the Summary window:
The first link points to the log file that specifies the error or warning.
Click the first link and search for the error or warning; for example, ERR: or WARN: .
The second link points to the corrective action file that describes the log file error message and recommends the corrective action.
Click the second link to open the corrective action file. Search the corrective action file for the error message that is noted in the log file. Review the description and corrective action.
Caution After you correct all problems that the utility identifies, Cisco strongly recommends that you run the utility again on every server in the cluster before you begin the upgrade.
Obtaining the Log File
You can obtain the results from the utility in the following directory:
C:\Program Files\Common Files\Cisco\Logs\UPGRADEASST (for example, UPGRADEASST-05-15-2003_13.47.58)
To access the log file, click the Summary file.
Tip A link to the log file displays in the Summary window for every failed validation module. To access the log file, click the link in the Summary window.
The Summary.html file, which is the Upgrade Assistant Summary report, provides the exact same information that displays in the Upgrade Assistant Summary window.
Each time that you run the utility, the utility creates a new log folder and new set of log files. The utility does not remove the log files, even if you uninstall the utility. You erase the log files when you reimage the server or manually delete the files.
From this good doc;
Using Cisco CallManager Upgrade Assistant Utility 4.1(3) for Cisco CallManager Release 3.3(5) and Later Releases
http://www.cisco.com/en/US/products/sw/voicesw/ps556/prod_installation_guide09186a00803f5c59.html#wp262763
**This db replication between Pub and Sub(s) is broken**
The publisher database server upgrade requires that all call-processing processes that the server handles fail over to the configured subscriber servers. Database replication must exist prior to the upgrade, so failover occurs.
This utility verifies the database replication status for all subscriber servers in the cluster. This utility validates that the database contains the latest information about the system. Validation results include Running, Idle, Failed, or Succeeded.
Have a look at this doc for the method to fix the db replication issue;
Using DBLHelper to Reestablish a Broken Cisco CallManager Cluster SQL Subscription
http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a00801e7ddf.shtml
Hope this helps!
Rob -
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 fileDear 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
Maybe you are looking for
-
When trying to update apps, I get the message: "Account not in this store,...switch to the Canadian store before purchasing" How to I switch, and how did it even get changed to US store? I don't remember changing anything, and I used to be able to
-
Spotlight doesn't search Entourage 2004 email
Spotlight searches don't include Entourage email files, only Apple Mail email files. Spotlight in Tiger showed both. I don't see any pref to include Entourage (only exclusions, where it isn't listed).
-
Hi Friends! I installed windows 8.1 on one partition of my laptop which had windows 7 in another partition. Post installation my windows 7 is not showing in boot options and all partitions except the one having windows 8.1 are now showing as raw disk
-
My ical calender does not send email alerts anymore, now what?
The alerts are configured correctly, if I look at the alert it says that an email will be send (for ex. 09.00 the day before). However when the moment comes, the email does not. Can anyone help me with this one. This is the case since the upgrade to
-
Exporting to Camera from Canopus ADVC 110
My saga so far: I bought a brand new Canopus ADVC110 Advanced Digital Video Converter for use with iMovie 3.0.3 on my Macintosh G4. I can't understand hardly A WORD of the instruction manual, but with detailed questions and careful coaching from the