Re: SSL - 100% CPU
Hi Mattias, Have you found any solution to the SSL problem? I have tried for days now without success. me too :( i've read your posting and i tried your steps without success. step1.bat:keytool -genkey -keyalg "RSA" -alias testalias -keystore mykeystore -dname "cn=My Name, ou=MyCompany, o=MyCompany, c=SE" -storepass 123456 -keypass 654321 -validity 360 how did you do that? my keytool does not accept this parameters. i have to remove -alias, -storepass, -keypass and -validity from the commandline and then it works!?! step2.bat: i got following error keytool error: java.lang.Exception: Failed to establish chain from reply after removing the initial keystore the import works!?! Output when running the scripts: same as yours. == https://my_ip_addr == SSL - 100% CPU :(( i tried with WinNT and Linux, jdk 1.2.2, 1.3 and IBM-jdk1.3 all the same result. perhaps anyone from the orion-team looks for this bug(?) this is one of the last "kock-out" points which must be cleared before we will purchase orion. bye klaus -- Klaus Thiele - Personal Informatik AG mailto:[EMAIL PROTECTED] "There's got to be more to life than compile-and-go."
Re: AW: Update: Performance Scalability
Hi Tom, I would like to know exactly the diference between ejb-location and pooled-location. ...and other thing...but I thing that Orion team is the only one who can answer me... How does ORion manage the connection pools??? I mean that Orion only let you set the max-number of connections but I want to know how many connection does it create at the begining, the number of connection that it creates when the initial ones are busy, if these extra connections (out of initials) are destroyed after a certain time whithout using them, an so on This is very important because imagine that your application has a lot of clients and inmediatly you start the server you gonna have 200 hundred clients.. in this situation it cuold be great tha the server creates at least 250 connections at start. Now imagine that you have a hot peak of affluence and you run out of connection (250 all busy) you will need more but because the extension of your application, it would be a great idea to create extra connections but in groups of 25, and destroy or not destroy them in a timeout depends on your decision. All this with the security that they will not be over a certain number of connections that you set and could cause a fall in your database. Now imagine the opposite situaion, you have a small application whith perhaps only two clients connected to the DB at the same time, it would be a lose of resource if your server creates 100 connections at start, the best could be to create only 2. And if this connections are busy it would be awfull to create a extra group of 20 connections at the same time because probably youwill only need one or two extra connections. Here you can see how you can take advantage of connection pooling. I'm sure that Orion manages the connection pools eficently but If the problem was the connection pools and weblogic let you set all this values, Have you thought that perhaps your configuration in weblogic is not the best for your applicaction? Repect to the Orion team...It would be very interesting to know something more about how Orion manages connection pooling. THANKS ALL. - David Sierra Fern ndez E.T.S.I. Telecomunicaci¢n Universidad de ValladolidAULA CEDETEL Campus Miguel Delibes E-Mail: [EMAIL PROTECTED] 47011 Valladolid (SPAIN) -- -- Sierr@ -- On Tue, 4 Jul 2000, Jens Stutte wrote: Hi Kirk, i assume he confused (like me some time ago) the different jndi names for the database connections. In a data-source you specify different locations, which will be treated differently by the server. The "location" is a 'naked' standard JDBC connection without pooling or anything. The "ejb-location" provides server specific wrapper classes for the connections, which provide such things as pooling, transaction handling for EJBs etc. I don't know the specific purpose of the "xa-location" and when to use it. Anyway, from within EJBs you should always use the "ejb-location". Regards, Jens Stutte PS: Example of a data-source: data-source name="BaseDB" class="com.evermind.sql.ConnectionDataSource" location="jdbc/BaseDB" xa-location="jdbc/xa/BaseXADB" ejb-location="jdbc/BaseEJBDB" inactivity-timeout="60" url="jdbc:informix-sqli://beatnix.net-media.de:1536/BaseDB:INFORMIXSERVER=on _beatnix" connection-driver="com.informix.jdbc.IfxDriver" username="informix" password="topsecret" / -Ursprüngliche Nachricht- Von:Kirk Kalvar [mailto:[EMAIL PROTECTED]] Gesendet am:Dienstag, 4. Juli 2000 17:19 An: Orion-Interest Betreff:RE: Update: Performance Scalability Tom: Could you be more specific? You weren't accessing the db connection pool, but what did you do to fix it? Thanks in Advance, Kirk S. Kalvar -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 04, 2000 9:27 AM To: Orion-Interest Subject: Update: Performance Scalability All, In a previous message I expressed my concern about performance as compared with Weblogic 5.1. With assistance from Karl Avedal, I made some changes to my application and am very pleased to announce that Orion is approximately 2x faster than Weblogic 5.1. I wasn't using the DB connection pool and it is a pleasure to work with a product that does conform and support the latest J2EE specification.
Re: SSL - 100% CPU
Hello, Yes, we have found a bug related to the 100 % CPU thing. It seems that when a bad certificate was used, IOException's get thrown in the ServerSocket accept() call immediately, which is not the usual behaviour of a ServerSocket. We are now taking care of that problem in a nicer way, and hopefully you should not get that behaviour in 1.1.9 which is available. If you do, please let us know. Regards, Karl Avedal Klaus Thiele wrote: Hi Mattias, Have you found any solution to the SSL problem? I have tried for days now without success. me too :( i've read your posting and i tried your steps without success. step1.bat:keytool -genkey -keyalg "RSA" -alias testalias -keystore mykeystore -dname "cn=My Name, ou=MyCompany, o=MyCompany, c=SE" -storepass 123456 -keypass 654321 -validity 360 how did you do that? my keytool does not accept this parameters. i have to remove -alias, -storepass, -keypass and -validity from the commandline and then it works!?! step2.bat: i got following error keytool error: java.lang.Exception: Failed to establish chain from reply after removing the initial keystore the import works!?! Output when running the scripts: same as yours. == https://my_ip_addr == SSL - 100% CPU :(( i tried with WinNT and Linux, jdk 1.2.2, 1.3 and IBM-jdk1.3 all the same result. perhaps anyone from the orion-team looks for this bug(?) this is one of the last "kock-out" points which must be cleared before we will purchase orion. bye klaus -- Klaus Thiele - Personal Informatik AG mailto:[EMAIL PROTECTED] "There's got to be more to life than compile-and-go."
Re: UserTransaction.
Hello Rui, Currently we do not support getting a UserTransaction reference from an application client (the specification does not say that clients should have access to it). We will probably implement it in a future release, but it will then be Orion specific and not portable to every J2EE server. Also, it's usually not a good choice to do transaction demarcation on the client. I would recommend doing the transaction demarcation from a session bean. If you want to, you can see the session bean as a part of your client logically, just that it's residing on the server, and you can probably put the kind of logic you want client transaction demarcation for in the session bean (but since I don't know exactly what you're using it for, I can't say for sure...) Regards, Karl Avedal Rui Gil wrote: Hi ! I'm trying to use an UserTransaction in a client code. None of the usuals JNDI names work, like, UserTransaction utx = (UserTransaction)initialContext.lookup("java:comp/UserTransaction") What is the default JNDI name where the UserTransaction is bound for clients ? Do I have to include it as a resource in my application-client.xml to bind it to JNDI ? And how do I configure this ? thx for the help. Rui Gil
Re: Does the EBB-JAR Class-Path manifest attribute ?
Hello Jeff, Can you please send details that will help us reproduce this? Did it give any stack trace? How do your classes interdepend? please send this info to [EMAIL PROTECTED] if you can. Of course it would help us very much if you could just send the ear, but we understand if you can't. Regards, Karl Avedal Jeff Tuatini wrote: Hi, Am trying to deploy an EBB which has dependent classes in other jar files; these other jar files are specified in the ebb-jar file's Class-Path manifest attribute (sec 17.3 of the EJB spec) and deployed in the EAR. When loading the ejb-jar I get a java.lang.ClassCircularityError exception. This does not occur if I stick the dependent jar on the system class path, or as an installed extension, or unzip the contents and deploy inside the ejb-jar. Has anyone tried deploying dependent jars which are specified in the ejb-jar Class-Path manifest? If so, any success? Or is this a known bug in the EJB class loader? Cheers, Jeff
Re: SSL-problems (was SSL-100% CPU)
I noticed that there is a 1.1.9 version. Tried that. Now I get another message: E:\java\orionjava -jar orion.jar Error listening to SSLServerSocket: No available certificate corresponds to the SSL cipher suites which are enabled. Orion/1.1.9 initialized Seems like the new release changed something. It would be really great to have a comment from the Orion team about this. I also have a question: How does Orion know which of the certificates in the keystore to use? It seems like it gets confused if you have more than one entry in the keystore. /Mattias - Original Message - From: "Mattias Arbin" [EMAIL PROTECTED] To: "Orion-Interest" [EMAIL PROTECTED] Sent: Tuesday, July 04, 2000 10:14 AM Subject: SSL-problems (was SSL-100% CPU) I have tried to dig deeper into the SSL problem, while it is a major showstopper right now and a problem that has to be solved before I can use Orion in my project. I have made to bat files for the certificate generation to be able to play around a little faster: step1.bat: keytool -genkey -keyalg "RSA" -alias testalias -keystore mykeystore -dname "cn=My Name, ou=MyCompany, o=MyCompany, c=SE" -storepass 123456 -keypass 654321 -validity 360 keytool -certreq -keyalg "RSA" -alias testalias -file localhost.csr -storepass 123456 -keypass 654321 -keystore mykeystore rem Go to thawte and copy the contents of localhost.csr. start https://www.thawte.com/cgi/server/test.exe step2.bat rem Before running this, save the output from Thawte into localhost.cer keytool -import -trustcacerts -file localhost.cer -keystore mykeystore -storepass 123456 -keypass 654321 Output when running the scripts: E:\testjava -version java version "1.3.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C) Java HotSpot(TM) Server VM (build 2.0fcs-E, mixed mode) E:\teststep1 E:\testkeytool -genkey -keyalg "RSA" -alias testalias -keystore mykeystore -dna me "cn=My Name, ou=MyCompany, o=MyCompany, c=SE" -storepass 123456 -keypass 6543 21 -validity 360 E:\testkeytool -certreq -keyalg "RSA" -alias testalias -file localhost.csr -sto repass 123456 -keypass 654321 -keystore mykeystore E:\teststart https://www.thawte.com/cgi/server/test.exe E:\teststep2 E:\testkeytool -import -trustcacerts -file localhost.cer -keystore mykeystore -storepass 123456 -keypass 654321 Owner: CN=My Name, OU=MyCompany, O=MyCompany, C=SE Issuer: CN=Thawte Test CA Root, OU=TEST TEST TEST, O=Thawte Certification, ST=FO R TESTING PURPOSES ONLY, C=ZA Serial number: 488d5a Valid from: Tue Jul 04 09:55:28 GMT+02:00 2000 until: Fri Aug 04 09:55:28 GMT+02 :00 2000 Certificate fingerprints: MD5: AE:C8:43:16:A5:FC:15:70:6A:A6:2D:D8:7F:8F:8C:87 SHA1: D1:98:C0:C7:DA:D5:DB:D5:D1:E3:C6:A1:39:A0:59:34:0A:8F:DC:99 Trust this certificate? [no]: yes Certificate was added to keystore E:\testkeystore -list -keystore mykeystore 'keystore' is not recognized as an internal or external command, operable program or batch file. E:\testkeytool -list -keystore mykeystore Enter keystore password: 123456 Keystore type: jks Keystore provider: SUN Your keystore contains 2 entries: mykey, Tue Jul 04 09:53:14 GMT+02:00 2000, trustedCertEntry, Certificate fingerprint (MD5): AE:C8:43:16:A5:FC:15:70:6A:A6:2D:D8:7F:8F:8C:87 testalias, Tue Jul 04 09:51:48 GMT+02:00 2000, keyEntry, Certificate fingerprint (MD5): BE:ED:A9:00:04:5D:A6:F4:9A:92:40:25:0C:AB:9C:EC OK. Now I start Orion (I have tried it with 1.0, 1.1.4, 1.1.8 with the same result): E:\java\orionjava -jar orion.jar Error starting HttpServer: Unable to intialize SSLServerSocketFactory 'com.evermind.ssl.JSSESSLServerSocketFactory': Unrecoverable key error: Cannot recover key Now to something interesting: I delete the key with the alias 'testalias': E:\testkeytool -delete -alias testalias -keystore mykeystore Enter keystore password: 123456 E:\testkeytool -list -keystore mykeystore Enter keystore password: 123456 Keystore type: jks Keystore provider: SUN Your keystore contains 1 entry: mykey, Tue Jul 04 09:53:14 GMT+02:00 2000, trustedCertEntry, Certificate fingerprint (MD5): AE:C8:43:16:A5:FC:15:70:6A:A6:2D:D8:7F:8F:8C:87 Now I start Orion again: E:\java\orionjava -jar orion.jar Orion/1.1.8 initialized Orion initializes, but takes about 100% CPU and accessing https://localhost:443 fails. Does anybody have a clue? /Thanks, Mattias Arbin, Ctakt AB My secure-web-site.xml: ?xml version="1.0"? !DOCTYPE web-site PUBLIC "Orion Web-site" "http://www.orionserver.com/dtds/web-site.dtd" web-site host="[ALL]" secure="true" port="443" display-name="Default Orion WebSite" !-- The default web-app for this site, bound to the root -- ssl-config keystore="../../../test/mykeystore" keystore-password="123456" / default-web-app application="default" name="defaultWebApp" / !-- Uncomment this to activate the news app -- !-- web-app application="news" name="news-web"
AW: Update: Performance Scalability
In the EJBs of the Pet Store is coded a (or several) JNDI name(s) (don't know which in this moment). This name must mach to the given name of an "ejb-location" of orions data-source, not to the given name of "location". If accidently this _name_ in the pet store is "location", you should set ejb-location="jdbc/location". If by now the pet store used the "naked location", you should observe significant performance gains. And - what's more - only with the ejb-location transactions can be rolled back properly. Jens -Ursprüngliche Nachricht- Von: Kirk Kalvar [mailto:[EMAIL PROTECTED]] Gesendet am: Dienstag, 4. Juli 2000 23:59 An: Jens Stutte Betreff: RE: Update: Performance Scalability Jens: Thanks, that did clear things up a bit. I think xa-location refers to X/OPEN DTP transaction resource interface (known as XA). Sun's Java Pet Store 1.0 (jps) application is using "location". What would happen if I changed to ejb-location? Any additional coding? Performance gains? Kirk S. Kalvar email [EMAIL PROTECTED] phone 703-591-3361 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Jens Stutte Sent: Tuesday, July 04, 2000 1:26 PM To: Orion-Interest Cc: '[EMAIL PROTECTED]' Subject: AW: Update: Performance Scalability Hi Kirk, i assume he confused (like me some time ago) the different jndi names for the database connections. In a data-source you specify different locations, which will be treated differently by the server. The "location" is a 'naked' standard JDBC connection without pooling or anything. The "ejb-location" provides server specific wrapper classes for the connections, which provide such things as pooling, transaction handling for EJBs etc. I don't know the specific purpose of the "xa-location" and when to use it. Anyway, from within EJBs you should always use the "ejb-location". Regards, Jens Stutte PS: Example of a data-source: data-source name="BaseDB" class="com.evermind.sql.ConnectionDataSource" location="jdbc/BaseDB" xa-location="jdbc/xa/BaseXADB" ejb-location="jdbc/BaseEJBDB" inactivity-timeout="60" url="jdbc:informix-sqli://beatnix.net-media.de:1536/BaseDB:INF ORMIXSERVER=on _beatnix" connection-driver="com.informix.jdbc.IfxDriver" username="informix" password="topsecret" / -Ursprüngliche Nachricht- Von: Kirk Kalvar [mailto:[EMAIL PROTECTED]] Gesendet am: Dienstag, 4. Juli 2000 17:19 An: Orion-Interest Betreff: RE: Update: Performance Scalability Tom: Could you be more specific? You weren't accessing the db connection pool, but what did you do to fix it? Thanks in Advance, Kirk S. Kalvar -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 04, 2000 9:27 AM To: Orion-Interest Subject: Update: Performance Scalability All, In a previous message I expressed my concern about performance as compared with Weblogic 5.1. With assistance from Karl Avedal, I made some changes to my application and am very pleased to announce that Orion is approximately 2x faster than Weblogic 5.1. I wasn't using the DB connection pool and it is a pleasure to work with a product that does conform and support the latest J2EE specification. In general, migrating from WL to Orion has been pretty painless. Most of the changes were container specific, config files, etc. and no code changes. The only code changes I'm now going to make has to do with improving my code. This exercise has identified areas that were inefficient or were specific to WL. BTW, my evaluation of Orion and two other Ejb servers has resulted in Orion as my choice hands down. Thanks Tom Tom Wnuk [EMAIL PROTECTED] [EMAIL PROTECTED]
RE: AW: Update: Performance Scalability
That's a good question but I don't know the answer either. I use ejb-location in my code. I'm going to guess that 'pooled-location' can be used via jsp pages or other Java objects that are not participating in Ejb transactions but maybe someone can confirm that. Unfortunately, the one thing lacking with Orion is documentation. There is someone who is starting a documentation site at: http://www.orionsupport.com/ It still has a long way to go and I'm sure it will get there. I know there's a number of tools that come with Orion but I have never seen any docs on this. As for connections, I would like to see 'startup-connections' and 'soft-max' added to the connection pools. Obviously, 'startup-connections' would be the number at startup and 'soft-max' would be the number of connections always maintained in the pool. Then 'max-connections' would be the absolute maximum that the pool would never exceed. I liked your idea about increasing connections as needed but depending on the database there may be a maximum available from the database server. Tom -Original Message- From: David Sierra Fernandez [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 05, 2000 1:28 AM To: [EMAIL PROTECTED] Cc: Orion-Interest Subject: Re: AW: Update: Performance Scalability Hi Tom, I would like to know exactly the diference between ejb-location and pooled-location. ...and other thing...but I thing that Orion team is the only one who can answer me... How does ORion manage the connection pools??? I mean that Orion only let you set the max-number of connections but I want to know how many connection does it create at the begining, the number of connection that it creates when the initial ones are busy, if these extra connections (out of initials) are destroyed after a certain time whithout using them, an so on This is very important because imagine that your application has a lot of clients and inmediatly you start the server you gonna have 200 hundred clients.. in this situation it cuold be great tha the server creates at least 250 connections at start. Now imagine that you have a hot peak of affluence and you run out of connection (250 all busy) you will need more but because the extension of your application, it would be a great idea to create extra connections but in groups of 25, and destroy or not destroy them in a timeout depends on your decision. All this with the security that they will not be over a certain number of connections that you set and could cause a fall in your database. Now imagine the opposite situaion, you have a small application whith perhaps only two clients connected to the DB at the same time, it would be a lose of resource if your server creates 100 connections at start, the best could be to create only 2. And if this connections are busy it would be awfull to create a extra group of 20 connections at the same time because probably youwill only need one or two extra connections. Here you can see how you can take advantage of connection pooling. I'm sure that Orion manages the connection pools eficently but If the problem was the connection pools and weblogic let you set all this values, Have you thought that perhaps your configuration in weblogic is not the best for your applicaction? Repect to the Orion team...It would be very interesting to know something more about how Orion manages connection pooling. THANKS ALL. - David Sierra Fern ndez E.T.S.I. Telecomunicaci¢n Universidad de ValladolidAULA CEDETEL Campus Miguel Delibes E-Mail: [EMAIL PROTECTED] 47011 Valladolid (SPAIN) -- -- Sierr@ -- On Tue, 4 Jul 2000, Jens Stutte wrote: Hi Kirk, i assume he confused (like me some time ago) the different jndi names for the database connections. In a data-source you specify different locations, which will be treated differently by the server. The "location" is a 'naked' standard JDBC connection without pooling or anything. The "ejb-location" provides server specific wrapper classes for the connections, which provide such things as pooling, transaction handling for EJBs etc. I don't know the specific purpose of the "xa-location" and when to use it. Anyway, from within EJBs you should always use the "ejb-location". Regards, Jens Stutte PS: Example of a data-source: data-source name="BaseDB" class="com.evermind.sql.ConnectionDataSource" location="jdbc/BaseDB" xa-location="jdbc/xa/BaseXADB" ejb-location="jdbc/BaseEJBDB" inactivity-timeout="60" url="jdbc:informix-sqli://beatnix.net-media.de:1536/BaseDB:INFORMIXSERVER=on _beatnix" connection-driver="com.informix.jdbc.IfxDriver" username="informix" password="topsecret" / -Ursprüngliche Nachricht- Von:
RE: UserTransaction.
Hi Karl, Well, you're right, as far as I know the specification doesn't say that this should be implemented, but it doesn't say the opposite either... and this is a common feature around J2EE servers. So I really hope that the Orion team implement this one quickly... I don't understand why the implementation is not going to be portable, aren't we talking about standard interfaces here ? Thanks, Rui Gil -Original Message- From: Karl Avedal [mailto:[EMAIL PROTECTED]] Sent: quarta-feira, 5 de Julho de 2000 10:26 To: Rui Gil Cc: Orion-Interest Subject: Re: UserTransaction. Hello Rui, Currently we do not support getting a UserTransaction reference from an application client (the specification does not say that clients should have access to it). We will probably implement it in a future release, but it will then be Orion specific and not portable to every J2EE server. Also, it's usually not a good choice to do transaction demarcation on the client. I would recommend doing the transaction demarcation from a session bean. If you want to, you can see the session bean as a part of your client logically, just that it's residing on the server, and you can probably put the kind of logic you want client transaction demarcation for in the session bean (but since I don't know exactly what you're using it for, I can't say for sure...) Regards, Karl Avedal Rui Gil wrote: Hi ! I'm trying to use an UserTransaction in a client code. None of the usuals JNDI names work, like, UserTransaction utx = (UserTransaction)initialContext.lookup("java:comp/UserTransaction") What is the default JNDI name where the UserTransaction is bound for clients ? Do I have to include it as a resource in my application-client.xml to bind it to JNDI ? And how do I configure this ? thx for the help. Rui Gil
Re: SSL - 100% CPU
Hi, I now use 1.1.9 and get: E:\java\orionjava -jar orion.jar Error listening to SSLServerSocket: No available certificate corresponds to the SSL cipher suites which are enabled. Orion/1.1.9 initialized What could be bad with my certificate? I have done exactly what is told in the documentation. (See my previous post) How do I know which "SSL cipher suites" that "are enabled"? How does Orion know which certificate in the keystore to use? When I have several entries in the keystore, I get: Error starting HttpServer: Unable to intialize SSLServerSocketFactory 'com.evermind.ssl.JSSESSLServerSocketFactory': Unrecoverable key error: Cannot recover key I feel pretty frustrated. SSL is a must in my case and right now these problems makes it impossible to use Orion in our project. Too bad, because Orion seems very nice. Could somebody that has a working SSL configuration confirm that it is possible to make it work. /Thanks, Mattias - Original Message - From: "Karl Avedal" [EMAIL PROTECTED] To: "Orion-Interest" [EMAIL PROTECTED] Cc: "Orion-Interest" [EMAIL PROTECTED]; "Orion Bugs" [EMAIL PROTECTED] Sent: Wednesday, July 05, 2000 11:16 AM Subject: Re: SSL - 100% CPU Hello, Yes, we have found a bug related to the 100 % CPU thing. It seems that when a bad certificate was used, IOException's get thrown in the ServerSocket accept() call immediately, which is not the usual behaviour of a ServerSocket. We are now taking care of that problem in a nicer way, and hopefully you should not get that behaviour in 1.1.9 which is available. If you do, please let us know. Regards, Karl Avedal Klaus Thiele wrote: Hi Mattias, Have you found any solution to the SSL problem? I have tried for days now without success. me too :( i've read your posting and i tried your steps without success. step1.bat:keytool -genkey -keyalg "RSA" -alias testalias -keystore mykeystore -dname "cn=My Name, ou=MyCompany, o=MyCompany, c=SE" -storepass 123456 -keypass 654321 -validity 360 how did you do that? my keytool does not accept this parameters. i have to remove -alias, -storepass, -keypass and -validity from the commandline and then it works!?! step2.bat: i got following error keytool error: java.lang.Exception: Failed to establish chain from reply after removing the initial keystore the import works!?! Output when running the scripts: same as yours. == https://my_ip_addr == SSL - 100% CPU :(( i tried with WinNT and Linux, jdk 1.2.2, 1.3 and IBM-jdk1.3 all the same result. perhaps anyone from the orion-team looks for this bug(?) this is one of the last "kock-out" points which must be cleared before we will purchase orion. bye klaus -- Klaus Thiele - Personal Informatik AG mailto:[EMAIL PROTECTED] "There's got to be more to life than compile-and-go."
[Fwd: Re: Performance Scalability Concern]
Oops, forgot to post to the list. Sorry Tom. Original Message Subject: Re: Performance Scalability Concern Date: Wed, 05 Jul 2000 07:24:32 -0700 From: Eric Richardson [EMAIL PROTECTED] To: [EMAIL PROTECTED] References: [EMAIL PROTECTED] Tom Wnuk wrote: I just migrated some ejb's from a Weblogic 5.1 installation to Orion. The version I'm using is whatever was available from the web site about a week ago -- orion.jar dated 6-5-2000, v1.xx. Some observations: 1. XML not DOM Level 2 My beans have used XML from the beginning and I'm using xerces xalan. Orion uses parser.jar from Sun which is DOM Level 1 compliant and includes the org.w3.* and org.xml.* packages. This creates a problem when my beans try and utilize methods that are in DOM Level 2 such as Document.normalize() and Node.importNode(). My temporary solution was to remove those classes from the parser.jar file, they're then picked up by xerces.jar which resides in the classpath. IMHO this is a problem in Orion. As far an application is concerned, they should only be able to see the J2EE classes. Somehow the class loader scheme needs to insulate the application from the server classes. In this case XML is not part of the current J2EE spec and I'm hoping they won't add it. I haven't looked at an future specs on J2EE. Eric :-) 2. Performance significantly slower It's not rocket science, but I clocked the elapsed time it takes to complete a round trip from a test client. Using the same code, Orion was at least 2x slower than WL 5.1 and did not scale well when more clients were added. WL 5.1 Orion 1.x One client .4xx.8xx Multiple (3).6xx2.xx I could live with 2x slower but when adding more clients it simply gets worse, much worse. For development purposes no problem, not ready for production use though. Also, the only known difference between the two deployments is, the JDBC driver. I'm reading/writing to an Oracle 8i database using a JDBC 2.0 Type 2 driver whereas with Orion I'm using JDBC Type 4 (thin driver from Oracle). I'm sure this adds to the response time issue but I can't believe it's the cause of the scalability problem. I'm sure there's more tweaking I could do with Orion, but as I'm sure everyone is aware, documentation is hard to find. Also, does anyone have any benchmarks using Type 2 vs. Type 4 drivers? Please, feedback is welcome. I'm evaluating Orion, JBoss, and JRun. I'm leaning towards Orion for many reasons that I won't go into here but scalability is a 'big' issue. Thanks Tom Tom Wnuk [EMAIL PROTECTED] [EMAIL PROTECTED] Name: winmail.dat winmail.datType: application/ms-tnef Encoding: base64
Re: UserTransaction.
Hello Rui, Ok, since you want it, we'll implement it. It's put up as a feature request, so expect it in about a week. Rui Gil wrote: Hi Karl, Well, you're right, as far as I know the specification doesn't say that this should be implemented, but it doesn't say the opposite either... and this is a common feature around J2EE servers. So I really hope that the Orion team implement this one quickly... I don't understand why the implementation is not going to be portable, aren't we talking about standard interfaces here ? It will not be portable since it's outside the specification of the platform. You're looking somethign up from the environment that the specification isn't saying will be there. That's like relying on System properties that might be there on some platforms, but not on some. You are using a standard interface to access the systerm properties, but they will not always be there. This means that your application will not be "pure J2EE" and work on every J2EE server, but as long as you're ok with that, it's no problem, except for the usual problems of transaction demarcation from the client (network latency making the transactions long, and with many clients, you could get many long transactions going...) Moving your transaction demarcation across the network to the session beans on the server will usually help your application to perform better. Regards, Karl Avedal
RE: UserTransaction.
Hi Karl, Well, you really have a way to make us users feel special, don't you... ;) Rui Gil Hello Rui, Ok, since you want it, we'll implement it. It's put up as a feature request, so expect it in about a week.
Performance Scalability Concern
Actually, there is a simple method to turn it off. From Magnus Stenman: "Remove parser.jar and jaxp.jar from the Orion directory and then start Orion with a -Dxml.parser=xerces switch. This launches Orion using the xerces parser only. I hope it helps." I agree, they have stepped outside the spec on this one but maybe the spec should be changed. How does a container process the ejb-jar.xml file if it can't load a parser? Hopefully, they don't have to write another one just to conform. It's one of those gray areas I think. At least I don't have to 'hack' the jar files and Orion has provided a switch. Tom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 05, 2000 7:25 AM To: [EMAIL PROTECTED] Subject: Re: Performance Scalability Concern Tom Wnuk wrote: I just migrated some ejb's from a Weblogic 5.1 installation to Orion. The version I'm using is whatever was available from the web site about a week ago -- orion.jar dated 6-5-2000, v1.xx. Some observations: 1. XML not DOM Level 2 My beans have used XML from the beginning and I'm using xerces xalan. Orion uses parser.jar from Sun which is DOM Level 1 compliant and includes the org.w3.* and org.xml.* packages. This creates a problem when my beans try and utilize methods that are in DOM Level 2 such as Document.normalize() and Node.importNode(). My temporary solution was to remove those classes from the parser.jar file, they're then picked up by xerces.jar which resides in the classpath. IMHO this is a problem in Orion. As far an application is concerned, they should only be able to see the J2EE classes. Somehow the class loader scheme needs to insulate the application from the server classes. In this case XML is not part of the current J2EE spec and I'm hoping they won't add it. I haven't looked at an future specs on J2EE. Eric :-) 2. Performance significantly slower It's not rocket science, but I clocked the elapsed time it takes to complete a round trip from a test client. Using the same code, Orion was at least 2x slower than WL 5.1 and did not scale well when more clients were added. WL 5.1 Orion 1.x One client .4xx.8xx Multiple (3).6xx2.xx I could live with 2x slower but when adding more clients it simply gets worse, much worse. For development purposes no problem, not ready for production use though. Also, the only known difference between the two deployments is, the JDBC driver. I'm reading/writing to an Oracle 8i database using a JDBC 2.0 Type 2 driver whereas with Orion I'm using JDBC Type 4 (thin driver from Oracle). I'm sure this adds to the response time issue but I can't believe it's the cause of the scalability problem. I'm sure there's more tweaking I could do with Orion, but as I'm sure everyone is aware, documentation is hard to find. Also, does anyone have any benchmarks using Type 2 vs. Type 4 drivers? Please, feedback is welcome. I'm evaluating Orion, JBoss, and JRun. I'm leaning towards Orion for many reasons that I won't go into here but scalability is a 'big' issue. Thanks Tom Tom Wnuk [EMAIL PROTECTED] [EMAIL PROTECTED] Name: winmail.dat winmail.datType: application/ms-tnef Encoding: base64
RE: Performance Scalability Concern
I understand but if you didn't have a J2EE container how would you resolve it? Once in the CLASSPATH all objects within the same JVM are effected by the order; therefore, the idea of self-contained components break down. They're all subject to the JVM including J2EE implementations. Do you really want to start dynamically loading your own specific classes via reflection? I don't. How many vendors do you know even truly have as close to a full J2EE implementation that Orion has? JBoss is going to rely on plug-ins so now your reliant on multiple vendors and release schedules. Weblogic ($$$) is very very close but they fall down in some areas as well, and IBM well. Tom -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Eric RichardsonSent: Wednesday, July 05, 2000 8:13 AMTo: Orion-InterestSubject: Re: Performance Scalability ConcernI see that, but that sets the policy of which libraries to use at the server level. When you have a large codebase then pieces of it and the applications may use different non-binary compatible versions and this breaks the component model of J2EE. Except for the J2EE version, each app should be self reliant. This is what I think anyway. Eric :-) Tom Wnuk wrote: Actually, there is a simple method to turn it off. From Magnus Stenman: "Remove parser.jar and jaxp.jar from the Orion directory and then start Orion with a -Dxml.parser=xerces switch. This launches Orion using the xerces parser only. I hope it helps." I agree, they have stepped outside the spec on this one but maybe the spec should be changed. How does a container process the ejb-jar.xml file if it can't load a parser? Hopefully, they don't have to write another one just to conform. It's one of those gray areas I think. At least I don't have to 'hack' the jar files and Orion has provided a switch. Tom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 05, 2000 7:25 AM To: [EMAIL PROTECTED] Subject: Re: Performance Scalability Concern Tom Wnuk wrote: I just migrated some ejb's from a Weblogic 5.1 installation to Orion. The version I'm using is whatever was available from the web site about a week ago -- orion.jar dated 6-5-2000, v1.xx. Some observations: 1. XML not DOM Level 2 My beans have used XML from the beginning and I'm using xerces xalan. Orion uses parser.jar from Sun which is DOM Level 1 compliant and includes the org.w3.* and org.xml.* packages. This creates a problem when my beans try and utilize methods that are in DOM Level 2 such as Document.normalize() and Node.importNode(). My temporary solution was to remove those classes from the parser.jar file, they're then picked up by xerces.jar which resides in the classpath. IMHO this is a problem in Orion. As far an application is concerned, they should only be able to see the J2EE classes. Somehow the class loader scheme needs to insulate the application from the server classes. In this case XML is not part of the current J2EE spec and I'm hoping they won't add it. I haven't looked at an future specs on J2EE. Eric :-) 2. Performance significantly slower It's not rocket science, but I clocked the elapsed time it takes to complete a round trip from a test client. Using the same code, Orion was at least 2x slower than WL 5.1 and did not scale well when more clients were added. WL 5.1 Orion 1.x One client .4xx .8xx Multiple (3) .6xx 2.xx I could live with 2x slower but when adding more clients it simply gets worse, much worse. For development purposes no problem, not ready for production use though. Also, the only known difference between the two deployments is, the JDBC driver. I'm reading/writing to an Oracle 8i database using a JDBC 2.0 Type 2 driver whereas with Orion I'm using JDBC Type 4 (thin driver from Oracle). I'm sure this adds to the response time issue but I can't believe it's the cause of the scalability problem. I'm sure there's more tweaking I could do with Orion, but as I'm sure everyone is aware, documentation is hard to find. Also, does anyone have any benchmarks using Type 2 vs. Type 4 drivers? Please, feedback is welcome. I'm evaluating Orion, JBoss, and JRun. I'm leaning towards Orion for many reasons that I won't go into here but scalability is a 'big' issue. Thanks Tom Tom Wnuk [EMAIL PROTECTED] [EMAIL PROTECTED] Name: winmail.dat winmail.dat Type: application/ms-tnef Encoding: base64
RE: EntityContext Environment
Thanks, that solved the class cast exception, but I am not getting anything for the EntityContext's environment. I get an empty Hashtable back. I guess a better question would be: To set the principal and credential in the EntityContext's environment, does that have to go through a SessionBean, or can any Java Object set it in the JNDI Context? Conrad Chan [EMAIL PROTECTED] on 07/05/2000 10:35:29 AM To: PETER V MINEARO/TheSphereHQ@TheSphereHQ cc: Subject: RE: EntityContext Environment I believe you should type-cast it to javax.naming.Context instead of InitialContext. I.e. Context ctx = ic1.lookup("java:comp/env") Conrad -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 05, 2000 9:46 AM To: Orion-Interest Subject: EntityContext Environment I am trying to get the EntityContext's environment . Since Sun deprecated the getEnvironment() method. I have to use the JNDI interface. My code looks like this: try { InitialContext ic1 = new InitialContext(); InitialContext ic2 = (InitialContext)ic1.lookup("java:comp/env"); Hashtable env = ic2.getEnvironment(); Enumeration keys = env.keys(); while(keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = env.get(key); System.err.println(key.toString() + " = " + value.toString()); } } catch (Exception e) { } My problem is that I am getting an Exception java.lang.ClassCastException: com.evermind.util.r at com.tsis.utils.net.JNDIEnvironment.showEnvironment(JNDIEvironment.java:32) on the line: InitialContext ic2 = (InitialContext)ic1.lookup("java:comp/env"); I looked in the orion.jar file and that file is there. Not sure what to make of this. Does anybody have any idea what is going on??
Re: EntityContext Environment
Hello, Change InitialContext ic2 = (InitialContext)ic1.lookup("java:comp/env"); to Context context = (Context) ic1.lookup("java:comp/env"); and you shouldn't get the error. InitialContext is the starting context, not all contexts are InitialContexts, that's why you get a ClassCastException. Regards, Karl Avedal [EMAIL PROTECTED] wrote: I am trying to get the EntityContext's environment . Since Sun deprecated the getEnvironment() method. I have to use the JNDI interface. My code looks like this: try { InitialContext ic1 = new InitialContext(); InitialContext ic2 = (InitialContext)ic1.lookup("java:comp/env"); Hashtable env = ic2.getEnvironment(); Enumeration keys = env.keys(); while(keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = env.get(key); System.err.println(key.toString() + " = " + value.toString()); } } catch (Exception e) { } My problem is that I am getting an Exception java.lang.ClassCastException: com.evermind.util.r at com.tsis.utils.net.JNDIEnvironment.showEnvironment(JNDIEvironment.java:32) on the line: InitialContext ic2 = (InitialContext)ic1.lookup("java:comp/env"); I looked in the orion.jar file and that file is there. Not sure what to make of this. Does anybody have any idea what is going on??
ORION and SSL
Any place I can go to get more information on SSL and how it works? I've seen https displayed in the URL and assumed that I was using SSL between the server and the browser. Is that correct? How would you activate SSL? Via a page or login? Thanks, Kirk S. Kalvar, Software Engineer DRS Electronic Systems Group
Multiple ejb containers
Hi, I would like to know if Orion supports several ejb containers (different applications, each in one container) in a single JVM orion instance Thanks Paolo Sommaruga
RE: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion
I was just getting a similar error but it was due to an existing jsp page that was using a tag incorrectly. In my case they we're using %@ some java code % which Orion didn't like and it threw an out-of-bounds exception on a String. There's probably an JSP syntax error somewhere in your code. Note to Orion developers: One thing that would be more helpful, trace messages in the console window or even to a log file. Sometimes you'll get an error w/o a stack trace and all you get is an 'unable to display the page' message, not very helpful. How about msgs upon startup so we can determine what's been loaded or not, etc.. Does anyone know if tracing exists in Orion and if so, how do you turn it on? Tom -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Steven PunteSent: Wednesday, July 05, 2000 10:42 AMTo: Orion-InterestSubject: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion Dear Orion Interest Group: Has anyone experienced this error below? My team is repeatedly running into this, but I cannot create the problem in a deterministic manner. We are using no arrays, so the error is from somewhere inside Orion. Once this error occurs, all JSPs on all application become non-functinoal. Any help appreciated! 7/5/00 10:19 AM ebusinessWebApp: Servlet errorjava.lang.ArrayIndexOutOfBoundsException: 13274200 at com.evermind.server.http.EvermindHttpJspPage.service(Compiled Code) at com.evermind.server.http.HttpApplication.tb(Compiled Code) at com.evermind.server.http.JSPServlet.service(Compiled Code) at com.evermind.server.http.df.o3(Compiled Code) at com.evermind.server.http.df.forward(Compiled Code) at com.evermind.server.http.dm.o9(Compiled Code) at com.evermind.server.http.dm.o8(Compiled Code) at com.evermind.util.e.run(Compiled Code) STeve Puntee-Business Software ArchitectTechnologent Inc[EMAIL PROTECTED]
Persisting session across restarts
Can someone tell me how I can configure Orion so it will keep sessions across restarts. So if I have a handle to an Entity EJB stored in the servlet session, kill the server (ctrl-c, admin shutdown, kill, etc.), run the server again (java -jar orion.jar), then I want those handles and the users' sessions to still work so the users' sessions are still logged in/authenticated. How is this done with Orion? I saw the persistence directory and directive somewhere in the config files, but apparently it doesn't do this by default--so I'm not sure how to get it working. Thank you, -- Joel Shellman Chief Software Architect The virally-driven B2B marketplace for outsourcing projects http://www.ants.com/90589781
Re: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion
Hello Tom, There's an application log file written for every application. You can find it in application-deployments/myapplication/application.log (or similar depending on if you use another deployment dir and depending on your application name...) With the graphical console that is days away from a preview you'll easily see exactly what is loaded into the server, so if you can just wait a few more days... Regards, Karl Avedal Tom Wnuk wrote: I was just getting a similar error but it was due to an existing jsp page that was using a tag incorrectly. In my case they we're using %@ some java code % which Orion didn't like and it threw an out-of-bounds exception on a String. There's probably an JSP syntax error somewhere in your code.Note to Orion developers:One thing that would be more helpful, trace messages in the console window or even to a log file. Sometimes you'll get an error w/o a stack trace and all you get is an 'unable to display the page' message, not very helpful. How about msgs upon startup so we can determine what's been loaded or not, etc..Does anyone know if tracing exists in Orion and if so, how do you turn it on?Tom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Steven Punte Sent: Wednesday, July 05, 2000 10:42 AM To: Orion-Interest Subject: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion Dear Orion Interest Group: Has anyone experienced this error below? My team is repeatedlyrunning into this, but I cannot create the problem in a deterministic manner. We are using no arrays, so the error is from somewhere insideOrion. Once this error occurs, all JSPs on all application becomenon-functinoal. Any help appreciated! 7/5/00 10:19 AM ebusinessWebApp: Servlet error java.lang.ArrayIndexOutOfBoundsException: 13274200 at com.evermind.server.http.EvermindHttpJspPage.service(Compiled Code) at com.evermind.server.http.HttpApplication.tb(Compiled Code) at com.evermind.server.http.JSPServlet.service(Compiled Code) at com.evermind.server.http.df.o3(Compiled Code) at com.evermind.server.http.df.forward(Compiled Code) at com.evermind.server.http.dm.o9(Compiled Code) at com.evermind.server.http.dm.o8(Compiled Code) at com.evermind.util.e.run(Compiled Code)STeve Punte e-Business Software Architect Technologent Inc [EMAIL PROTECTED]
RE: What is definition of session-timeout ?
As far as I know its the number of minutes since the session was 'used' (number 1) -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Steven PunteSent: Thursday, 6 July 2000 7:47To: Orion-InterestSubject: What is definition of "session-timeout" ? Dear Orion Interest Group: I'm controlling the time-out of server side java beans using the web.xml session-timeout numOfMinutes /session-timeout configuration parameter. Does anyone know the definition of this parameter? Is it: Time-out from the last time the object was used? Time-out from the moment the object was initially created? Thanks in Advance STeve Puntee-Business Software ArchitectTechnologent Inc[EMAIL PROTECTED]
RE: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion
Excellent! -Original Message- From: Karl Avedal [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 05, 2000 3:32 PM To: [EMAIL PROTECTED]; Orion-Interest Subject: Re: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion Hello Tom, There's an application log file written for every application. You can find it in application-deployments/myapplication/application.log (or similar depending on if you use another deployment dir and depending on your application name...) With the graphical console that is days away from a preview you'll easily see exactly what is loaded into the server, so if you can just wait a few more days... Regards, Karl Avedal Tom Wnuk wrote: I was just getting a similar error but it was due to an existing jsp page that was using a tag incorrectly. In my case they we're using %@ some java code % which Orion didn't like and it threw an out-of-bounds exception on a String. There's probably an JSP syntax error somewhere in your code.Note to Orion developers:One thing that would be more helpful, trace messages in the console window or even to a log file. Sometimes you'll get an error w/o a stack trace and all you get is an 'unable to display the page' message, not very helpful. How about msgs upon startup so we can determine what's been loaded or not, etc..Does anyone know if tracing exists in Orion and if so, how do you turn it on?Tom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Steven Punte Sent: Wednesday, July 05, 2000 10:42 AM To: Orion-Interest Subject: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion Dear Orion Interest Group: Has anyone experienced this error below? My team is repeatedlyrunning into this, but I cannot create the problem in a deterministic manner. We are using no arrays, so the error is from somewhere insideOrion. Once this error occurs, all JSPs on all application becomenon-functinoal. Any help appreciated! 7/5/00 10:19 AM ebusinessWebApp: Servlet error java.lang.ArrayIndexOutOfBoundsException: 13274200 at com.evermind.server.http.EvermindHttpJspPage.service(Compiled Code) at com.evermind.server.http.HttpApplication.tb(Compiled Code) at com.evermind.server.http.JSPServlet.service(Compiled Code) at com.evermind.server.http.df.o3(Compiled Code) at com.evermind.server.http.df.forward(Compiled Code) at com.evermind.server.http.dm.o9(Compiled Code) at com.evermind.server.http.dm.o8(Compiled Code) at com.evermind.util.e.run(Compiled Code)STeve Punte e-Business Software Architect Technologent Inc [EMAIL PROTECTED]
confused about \orion\default-web-app directories
There seem to be the same:files under: - examples/cal - examples/jps/cal - WEB-INF/classes/cal Can you please explain which cal directories are used when and for what?
Setting library path
I've got a number of supporting classes that my ejb's need access to. I originally copied the dir structure beneath the ./lib dir and everything worked fine. I'd really like to keep it with the rest of the application but can't seem to get the server to search the CLASSPATH for these classes and I've tried setting the library path in the config/application.xml file. library path="../lib" / I'm obviously missing something simple, help! Thanks Tom Tom Wnuk [EMAIL PROTECTED] [EMAIL PROTECTED] winmail.dat
Make changes without losing session?
Whenever I make a change to one of my servlet source files while a user is in the middle of a session, Orion appears to terminate the session and on subsequent page requests gives the user a ClassCastException (e.g. java.lang.ClassCastException: com.quicksweep.BrowseList at /directory.jsp._jspService(/directory.jsp.java:32) at com.evermind.server.http.EvermindHttpJspPage.service(JAX) ). I assume I must just be doing something stupid with my configuration. In an attempt to keep my configuration relatively simple, I'm just using the default web app setup. I added the following to "global-web-application.xml" : classpath path="c:\qs\sdev\src" / (this is where my servlets and beans are) classpath path="c:\qs\sdev\lib\mysql_comp.jar" / classpath path="c:\qs\sdev\lib\ewin-jdbc\ewin" / I also tried taking out the first classpath entry and putting all my source files in WEB-INF/classes/... Also, I was wondering what the expected behavior is of doing a RESTART or SHUTDOWN-then-startup. Should all the user sessions still be valid when the server comes back up? They aren't for me, currently, but I assume that's caused by the same problem as above. If someone can enlighten me, I'd really appreciate it. Thank you, Brien Voorhees
RE: HELP: Reoccurring ArrayIndexOutOfBoundsException from Orion
Title: RE: HELP: Reoccurring ArrayIndexOutOfBoundsException At 12:19 PM -0700 7/5/00, Tom Wnuk wrote: I was just getting a similar error but it was due to an existing jsp page that was using a tag incorrectly. In my case they we're using %@ some java code % which Orion didn't like and it threw an out-of-bounds exception on a String. There's probably an JSP syntax error somewhere in your code. Note to Orion developers: One thing that would be more helpful, trace messages in the console window or even to a log file. Sometimes you'll get an error w/o a stack trace and all you get is an 'unable to display the page' message, not very helpful. How about msgs upon startup so we can determine what's been loaded or not, etc.. Does anyone know if tracing exists in Orion and if so, how do you turn it on? Tom Tom, I don't know how to turn on additional logging, but I do know how to get better error messages: Turn off pretty error pages in IE. On the Tools menu, choose Internet Options. Then click the Advanced tab, and then uncheck Show friendly HTTP error messages. This way, IE will show whatever the server sends, even it if is error messages. EVERY web developer should work with pretty error messages turned off because the data IE hides is almost always useful. I wish that customers reporting error messages would work with pretty error messages turned off too! -David