RE: Using NT security
Take a look at the sample JAAS modules that you can download from Sun in conjunction with JAAS. Specifically, they include an NT module which can be used to retrieve username and group information for a running process. Note however, there is no way to retrieve a password for a logged on user, at least not included with the JAAS module. The NT API does provide functions for retrievinga user's password, but in that case the domain/NTServermust be configured to store plain-text passwords, which is something most people don't do anyway. Exchange definitely offers an alternative authentication mechanism, but that falls outside of the standard javamail SMTP interface. Andre -Original Message-From: Justin Crosbie [mailto:[EMAIL PROTECTED]]Sent: Wednesday, March 13, 2002 10:16 AMTo: Orion-InterestSubject: Using NT security Hi all, I checked thearchives and support pages for this, didn't seem to find it. Is there any way to get Orion to usethe NT username+password of whoever is logged in, for running client apps? Currently I'm reading them from a config file, which obviously is not ideal. Also, I am using the mail-session properties to configure a JavaMail session. Thus I have the userame+password of this hardcoded into application.xml. Anyone know of a way I could use the NT logged on credentials to specify the mail.smtp.user and mail.smtp.password properties of the session? It is an Exchange server. (Probably OT, apologies if it is). Thanks, Justin
RE: Random hiccups with Orion+https
You're right, by default if SSL is enabled Orion uses the SSL session to maintain your servlet session. For some reason, IE likes to renew the SSL connection every 2 or 3 minutes (I'm forgot the exact time), even if the user is continually browsing the same site. When this happens, Orion loses track of the session. Setting the shared flag to true forces Orion to use cookies or URL rewriting to maintain the session, which ought to solve the problem. Andre -Original Message- From: Jon Iles [mailto:[EMAIL PROTECTED]] Sent: Monday, March 11, 2002 9:04 AM To: Orion-Interest Subject: RE: Random hiccups with Orion+https Hi, We were experiencing the same problem, adding shared=true to the web-app tag in your web-site.xml file solves the problem. There appears to be an issue with browsers (IE?) tracking and maintaining SSL sessions correctly. I've no doubt someone better informed than me can fill in the details! Cheers, Jon -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Peter Peltonen Sent: 11 March 2002 10:17 To: Orion-Interest Subject: Random hiccups with Orion+https Orion 1.4.7 + https (a test ssl cert from Thawte installed following the instructions at Atlassian site) is causing problems: You get thrown out of the applicaton now and then (randomly it seems). Without https the application works fine. Is Orion's https code buggy (should we use Apache as frontend instead), is there some known problems with some specific browsers etc or what is going on? Regards, Peter
RE: Different JSESSIONID
I've run into a similar problem, which expressed itself in certain browsers. In some browsers the url http://somehost and http://somehost:80 are treated as different URLs. This means that the browser will not send a session cookie created at http://somehost to http://somehost:80, and the servlet invoked as http://somehost:80 will attempt to create a new session. We solved this problem by always removing the port number if it was standard. If you're not running into this problem, ensure you aren't accidentally invalidating the session somehow. Andre -Original Message- From: Juan Fuentes [mailto:[EMAIL PROTECTED]] Sent: Monday, September 17, 2001 1:15 AM To: Orion-Interest Subject: Different JSESSIONID Hi list, We're having a problem with http session. We call a servlet twice in a session, but the second one sends a different JSESSIONID. Although the original session is not expired, and the application continues working. As the second time that servlet is called it gets a different session, it cannot access to the attributes in the session. How is it possible, and how could I solve this problem?? TIA -- ·· Juan Fuentes Nieto Essi Projects [EMAIL PROTECTED]t +34 977 221 182 http://www.essiprojects.com f +34 977 230 170 ··
RE: response.sendRedirect(response.encodeRedirectURL(path));
I ran into the same problem. I think it's a bug in orion, where it ignores the front-end host parameter. My solution was to drop the proxy. Andre -Original Message- From: Johan Fredriksson [mailto:[EMAIL PROTECTED]] Sent: Monday, September 03, 2001 5:17 AM To: Orion-Interest Subject: response.sendRedirect(response.encodeRedirectURL(path)); I cannot get the response.sendRedirect(response.encodeRedirectURL(path)); method call to include the frontend host name!! Architechture like this internetprivate netw layerlayer proxy---oriondb whenever surfing via the proxy and a response sendredirect is called I end up in the private network ( ip 192.168.1.123) instead of the proxy address. My web.xml looks like this: web-site host=[ALL] port=80 display-name=Aller WebSite virtual-hosts=aller.localhost !-- The default web-app for this site, bound to the root -- frontend host=proxy.flowinteractive.se port=80/ default-web-app application=default name=defaultWebApp / !-- Uncomment this to activate the news app -- !-- web-app application=news name=news-web root=/news / -- !-- Access Log, where requests are logged to -- access-log path=../log/aller-web-access.log / !-- web-app application=admin name=admin-web root=/admin / -- web-app application=aller name=aller-web root=/aller / /web-site I would greatly appreciate if anyone who has solved this can give me some insight other than using absolute urls. Thanks in advance Johan Fredriksson
RE: j_security_check
I have tried this, and was able to make it work, although slightly differently. I had a secured URL (a servlet in my case), to which I posted a form that contained the j_username and j_password fields, along with some additional application specific data. If the user specified the correct info, the session was immediately authenticated, and my normal login form was never displayed. If the user entered invalid information, he would get my configured login form. I think it may have even worked when submitting to an unsecured URL, which was convenient, because the user could log in before it was required, and gain additional functionality. This was in the Orion 1.3 timeframe, almost a year ago so my memory is a little fuzzy, but give it a try. Andre -Original Message- From: Aaron Tavistock [mailto:[EMAIL PROTECTED]] Sent: Thursday, August 30, 2001 7:21 PM To: Orion-Interest Subject: RE: j_security_check I've not tried this but I doubt it will work. 1. Since this is dubbed 'Container based authentication' in the J2EE spec, and you're posting from outside the container, I would guess it won't work. 2. Since you are not authenticated when you are trying to post, the container should attempt to do the atuhentication (e.g. after you post you will be prompted for authentication). 3. The 'j_security_check' form name is essentially an internally recognized keyword, not a true form. 4. If you could post from another server it would make me (and probably alot of other security concious people) feel uncomfortable. If you could post from outside the container it would be a no brainer to make a wrapper and capture keystrokes when someone mistyped a URL (e.g. www.bakn.com instead of www.bank.com) and the user would never notice. As it stands now, its a bit more difficult to spoof this interaction. -Original Message- From: Trujillo, Kris [mailto:[EMAIL PROTECTED]] Sent: Thursday, August 30, 2001 4:15 PM To: Orion-Interest Subject: j_security_check Does anyone know if it is possible to post to j_security_check from an external form. What I mean by external is a form that isn't the form referenced in the web.xml as form to show the user when they're not logged in. I am hoping be able to use a form on another server that will post to the oc4j server for authentication and session establishment on the oc4j server. Anybody attempted this??
RE: Orion and JNI
I think its a limitation of java, it appears you can't load a native library from more than one class loader at a time. To work around it, I have a class that wraps the native library, and load the native library inside a static block as you say. I then make this class available to a higher level class loader. Since the web-app class loaders are children of the the orion top level class loader, and there is only one top level class loader, the library is only loaded once, but available to all web-apps. You can make the wrapper class available at the default application level, by adding library tags to application.xml, or at the system classpath level by starting orion using java -cp orion.jar;myJNIwrapperClass.jar com.evermind.server.ApplicationServer. Hope this helps, Andre -Original Message- From: Etienne Bernard [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 29, 2001 4:24 PM To: Orion-Interest Subject: Orion and JNI Hi, I am trying to use a native class in a servlet. The library containing the implementation of the native methods is loaded at the servlet initialization (static { ... } block), and everything works fine. However, when my application gets redeployed, the next time I try to access my servlet I get an exception: java.lang.UnsatisfiedLinkError: Native Library libsipssubscription.so already loaded in another classloader at java.lang.Error.init(Error.java:52) at java.lang.LinkageError.init(LinkageError.java:45) at java.lang.UnsatisfiedLinkError.init(UnsatisfiedLinkError.java:44) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1434) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1315) at java.lang.Runtime.load0(Runtime.java:715) at java.lang.System.load(System.java:826) at com.ecompil.sipswrapper.SIPSApiSub.clinit(SIPSApiSub.java:68) at com.ecompil.web.SIPSSubscriptionRequest.processSubscription(SIPSSubscription Request.java:60) Is there a way to avoid such an error ? Thanks in advance. -- Etienne Bernard [EMAIL PROTECTED] Senior Software Engineer - FullSIX - http://www.fullsix.com/
FW: When user hits STOP..any way to trap that and terminate an ongoin g request..
3rd Repost -Original Message- From: Andre Vanha Sent: Monday, August 13, 2001 6:27 PM To: 'Orion-Interest' Subject: RE: When user hits STOP..any way to trap that and terminate an ongoin g request.. Hi Kevin, although as you describe there isn't any way to notify the server when a user hit's the stop button, I thought of a possible solution. Since the only indication of an aborted request is a closed connection there must be a way to monitor for this event. You mention you use a transition page, which could be used to implement this. Theoretically it could be done like this: A user submits a large query to your server. Your server sends back the transition page, but not all of it.On the server the query is dispatched and processing starts. Either your query process could periodically make calls to some sort of update method, or your query process could be spawned in a new thread, and the servlet thread would periodically check the status of the query thread. Whenever the isAlive check would occurr you could attempt to send something to the client browser. If you receive an error during the send process, you can assume the user has either pressed the stop button, or navigated to a different page, and kill your query processing. If the query completes successfully while the user is waiting, you can either send the results directly, or send a redirect to a page where the results can be viewed. There are several things you could send to the client browser during your isAlive check. For simplicity, you could send dots .. If your query job supports it, you could send progress updates 10% CompleteBR, 20% CompleteBR etc... For fancy effects, you could send javascript that could swap an image on the page to simualte a graphical progress bar or some other effect. This solution will impose more overhead on the server, since response caching would have to be turned off, and there might be other issues, but it might do what you need. Andre -Original Message- From: Duffey, Kevin [mailto:[EMAIL PROTECTED]] Sent: Monday, August 13, 2001 2:23 PM To: Orion-Interest Subject: When user hits STOP..any way to trap that and terminate an ongoin g request.. Hi al, I am almost positive the answer is no, but I thought I'd see if anyone has come up with a solution. All too often, we have some users that submit a large query, then hit the STOP button on the browser, then change something and submit again. In the meantime, their original query is still executing on the server-side. Sure..Orion throws an exception when it tries to send the response back and the connection to the browser is gone. But I am wondering if there is any way at all to just kill that particular request. Like..is there some way the app server or web server can send pings every say, 100ms to the browser to make sure its connection is still alive..and if not, just kill the request in some manner. Perhaps by having a special interface that an application can implement, so that a particular method can be called if the server detects that the connection to the browser is dead before the response has gone back. In this way, that method call can get ahold of the session, and perhaps get ahold of a connection being used, close it, etc. Ofcourse, you can use some client-side javascript to disable a button after its been clicked. We have done this, and we also inserted a transition page in particular areas where long queries might occur. In this case, the user sees an animated gif and a message that tells them not to hit stop or back. Ofcourse..you're still going to get those users that do this. My personal opinion is that if they call in, we tell them they are stupid, they should unplug their computer and quit their job because they can't follow instructions. Ofcourse..that wont fly, especially if they are a big money client. Besides, its ethically wrong to screw your clients over. ;) So, one possible idea I have had is to do the following. Each user has a session when they log in. Upon any request, a flag is set in the session of that user, indicating a transaction is starting. If the user hits STOP, then submits while that transaction is still going on, the server will see the flag is set, and send back a response indicating that a transaction is currently happening and they have to wait for it to be done before another submit can occur. There is a plus side to this..it prevents any user to doing more than one thing. The down side is, it is possible using the File - New - Window to open up another window with the same cookie/sessionID and the user could actually go to a different module and do MORE work at the same time. This would allow, for example a large query to be performing in one module and they could go do some work in another module. My method of a flag would prevent this type of multiple-module capability. The solution, ofcourse is to allow one flag per module, thus only one transaction per
RE: Shutting down orion server!
-Original Message- From: Rajiv R [mailto:[EMAIL PROTECTED]] Sent: Friday, July 20, 2001 7:20 AM To: Orion-Interest Subject: Shutting down orion server! Having started orion server, I shutdown using Ctrl+C is this correct way? Can I make a file (something like a .bat file) which when run will shutdown the server? thanx regards rajiv With Regards, Rajiv. R Systems Engineer, Wipro Technologies, ITPL, Bangalore Ph:91-80-8410470-479 Extn:6422 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] http://www.rajspace.org http://www.rajspace.org _ Wipro Technologies The World's First SEI-CMM Level 5 Software Services Company _ ´¯`·. .·´¯`: '·. *`·. .·´* .·' `:--·´ `·--:´ `·. ' ' .·´ ;`·-·´; shutdown.bat
RE: help...Error deserializing session
Sounds like you have a stateful session bean that has a member variable which is of a non-serializable type, from the looks of it, some sort of JDBC object, such as Connection or Statement. When your bean is activated or passivated, it's trying to serialize or deserialize that member variable causing the error. Declare the offending variable as transient, and ensure that you initialize the variable before you use it in your code. Andre -Original Message- From: John Miller [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 10, 2001 11:41 AM To: Orion-Interest Subject: help...Error deserializing session Hi, I have written an EJB which does a pretty simple Oracle select and am getting this error, when the bean is instantiated for the first time: Error deserializing session: java.io.WriteAbortedException: Writing aborted by exception; java.io.NotSerializableException: com.evermind.sql.ak I have no idea what might be causing this, so any suggestions or ideas you might have would be a great help. Thanks, Johnny http://www.iii.co.uk Interactive Investor International is a leading UK Internet personal finance service that provides individuals with the capability to identify, compare, monitor and buy online a number of financial products and services. Interactive Investor Trading Limited, a subsidiary of Interactive Investor International plc, is regulated by the SFA.
RE: xerces conflict (and a hack solution).
Actually, thats not the way it works. Classloaders form a hierachy. At the top of the tree there is the bootstrap classloader. Underneath there is a URL classloader, followed by orion's (1 or more) own classloaders. You're right that each application then gets it's own classloader, but it's always a child of one of orion's classlaoders. Since classloaders always delegate to their parents, classes will always be loaded from the highest level possible. Now I don't think xerces is part of orion's internal classpath anymore (1.5.2), so I'm not sure why it's having a conflict, but in general keep in mind that classes are always loaded at the top. Andre -Original Message- From: Vimal Kansal [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 03, 2001 4:48 PM To: Orion-Interest Subject: Re: xerces conflict (and a hack solution). I also ran into this problem. I think this is a bug with Orion. Each application deployed to Orion should get its own unique classloader, which is distinct not only from all other applications, it is also distinct from the classloader that Orion uses for itself. Vimal --- Mark Kettner [EMAIL PROTECTED] wrote: :Hello all, In our web application we use an old version of xerces. We deploy the application with xerces.jar in the WEB-INF/lib directory. However, when the application is started we get the error: java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:1 18) at com.fredhopper.frob.question.QuestionManager.loadQuestions(QuestionManager.j ava:163) at com.fredhopper.frob.question.QuestionManager.loadQuestions(QuestionManager.j ava:78) at com.fredhopper.frob.FredEngine.init(FredEngine.java:373) at com.fredhopper.frob.FredEngine.startingUp(FredEngine.java:138) at com.fredhopper.jsp.Bridge$EngineInServletContainer.fredhopper(Bridge.java:83 7) at com.fredhopper.jsp.Bridge$EngineInServletContainer.run(Bridge.java:779) A bit cryptic, because SAXParser is in fact available twice (once in our application and once in the 'global' orion space). A solution is: 1) Move the following jars: crimson.jar jaxp.jar parser.jar xalan.jar 2) Move our own xerces.jar in orion home directory 2) Start orion as follows: java -Xbootclasspath/a:xerces.jar -jar orion.jar This is not a real solution, because we also had to remove the encoding attribute out of the application.xml and web.xml. And this should then be done for every application you deploy on the application server. Shouldn't it be that when the application server looks for a class, it first looks in the classes directory of that web application, then in the lib directory of the web application and if it still can't resolve the class it looks in the global space (not a good idea, since this depends on which application server you use, but trade of to save memory usage)? So is this a bug in orion, or are we doing something wrong here? Mark -- --o-o-- Mark Kettner http://www.fredhopper.com Amsterdam, The Netherlands Phone: +31 20 3206203 Mobile: +31 620 609 817 fax:+31 20 8848747 E-mail: [EMAIL PROTECTED], [EMAIL PROTECTED] __ Do You Yahoo!? Get personalized email addresses from Yahoo! Mail http://personal.mail.yahoo.com/
Loadbalancer with SSL
Has anybody gotten orion's (1.5.2) load balancer to work with SSL? It's not a problem to get an orion website up and running with SSL but I can't get the loadbalancer to work with SSL. It never accepts my request. If I turn of SSL loadbalancing works fine. If anyone has gotten it to work, please let me know Andre Vanha NETdelivery Corporation
RE: getRemoteAddr() - APACHE as proxy !!
I've run into the same problem. I don't think there is any way around this, since the Apache module is a simple proxy. It would be necessary to improve the Apache plugin to send some extra headers, and then have orion interpret them. However without an open API through which to construct the HTTP requests coming into orion, you would have to interpret these headers in your own code. One possible avanue is Orion's load balancer. I haven't had a chance to test it, but does it suffer from the same problem? It may already have an API that allows it to pass through the original IP address (and other info) to the actual server, which could be emulated by a web server plugin. Andre -Original Message- From: Eddie [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 05, 2001 10:30 AM To: Orion-Interest Subject: Re: getRemoteAddr() - APACHE as proxy !! OK, In the meantime I found out what is wrong: I am using apache as a proxy server, and therefore I do get the IP address of the server. How can I overcome this ?? Such that getRemoteAddr() does return the client's IP address in my servlets. Eddie - Original Message - From: Eddie mailto:[EMAIL PROTECTED] To: Orion-Interest mailto:[EMAIL PROTECTED] Sent: Tuesday, June 05, 2001 2:12 PM Subject: getRemoteAddr() Hellu there, If I use getRemoteAddr() to get the IP address of the client the makes the servlet requests it return the IP address of the server ?? (also getRemoteHost() returns the server name). Any idea how come ?? I am running jdk 1.3 and the servlets run on the application server Orion 1.5.1 (OS: Linux redhat 7.0) (I can remember that a JSP on JSERv on apache didn't had this problem, so I quess it's Orion .. not ??) Eddie
RE: Deployment to multiple instances...?
Atilla, Take a look at the orion-web.xml. It should be possible to provide override values using orion specific tags. Since the Orion-web.xml is not rewritten when a new version of the web file is deployed, once you set the file up, you should be good to go. Andre orion-web.xml reference: http://www.orionserver.com/docs/orion-web.xml.html -Original Message- From: Reid Hartenbower [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 17, 2001 2:19 PM To: Orion-Interest Subject: Re: Deployment to multiple instances...? This might not be the solution you're looking for, but you could use ant and specifiy your different deployments as different targets. This would at least give you a central place to build from, and because ant knows about .war packaging and supports FTP, theoretically (because I have not done this myself) you can do all you're looking for with build scripts. - Original Message - From: Attila Bodis [EMAIL PROTECTED] To: Orion-Interest [EMAIL PROTECTED] Sent: Thursday, May 17, 2001 10:57 AM Subject: Deployment to multiple instances...? Hi, This is a newbie question, I guess... Here is the situation: I have a web application (a bunch of servlets, JSPs, and supporting classes) I want to deploy to multiple Orion instances. Some of these instances are for QA, some are inside the firewall, and some are outside the firewall. My application has external dependencies on databases and files in the filesystem that are not part of the application itself. Rather than hard-code these values, I include them as context-params in WEB-INF/web.xml. Ideally, I'd like to be able to build my web application on my development machine, package it as a WAR file, and deploy it by just FTPing the WAR into the appropriate directory on my various Orion instances. The problem is, my configuration parameters are in WEB-INF/web.xml, which is inside the WAR file. These configuration parameters have to be different for my different instances (e.g. different directory structure, different database connection parameters, etc.). But the web.xml file inside the WAR file always overwrites the one already deployed, which means each time I distribute my WAR file to my different instances, I have to 1) wait for Orion to auto-unpack the archive, then 2) manually change the settings in WEB-INF/web.xml on each instance. Of course if I avoid putting container-specific (i.e. deployment environment-specific) parameters in WEB-INF/web.xml, then the same web.xml will work on all of my various instances. But then where do I put config parameters such as log level, log file directory, and path to my-secret-files, etc., which are used by the application but are specific to the particular deployment environment? Does Orion provide a way to specify config parameters for an application on a per-container basis? Thanks, Attila
RE: orionconsole and firewall - hangs !??
Eddie, It looks like the orion console uses the ORMI protocol. The default port for ormi is 23791. You could edit rmi.xml to specify a different port. Andre -Original Message- From: Eddie [mailto:[EMAIL PROTECTED]] Sent: Friday, May 11, 2001 8:45 AM To: Orion-Interest Subject: orionconsole and firewall - hangs !?? Please tell me which ports I need to open such that orionconsole can monitor an orion server that is behind a firewall. I have some orion servers that I can monitor well, but one is behind a firewall and the orionconsole just hangs when I add the server and click on it (at least I was impatient to wait for the time-out to occur - waited for 10 minutest). Regards, Eddie
RE: Connection Pooling in Orion
Adrian, Use orion's admin.jar to get connection pool info. On my machine, I can type this to get stats: java -jar admin.jar ormi://localhost admin password -application default -dataSourceInfo The output looks like this: DataSource info: jdbc/xa/HypersonicXADS - cached: 0 used: 0 total: 0 jdbc/HypersonicDS - cached: 0 used: 0 total: 0 jdbc/xa/EMD/MainXADS - cached: 2 used: 0 total: 2 jdbc/EDM/MainDS - cached: 2 used: 0 total: 2 -Original Message- From: Adrian Yau [mailto:[EMAIL PROTECTED]] Sent: Friday, May 04, 2001 7:43 PM To: Orion-Interest Subject: Connection Pooling in Orion I think I've correctly set up database connection pooling for my enterprise app. But how do I confirm that Orion is actually doing connection pooling for me? Thanks. __ Do You Yahoo!? Yahoo! Auctions - buy the things you want at great prices http://auctions.yahoo.com/
RE: [EJB] orion-ejb-jar.xml
This is from the Orion-EJB.jar documentation: http://www.orionserver.com/docs/orion-ejb-jar.xml.html An orion-ejb-jar.xml file contains the deploy-time info for an ejb-jar. It is located in ORION_HOME/application-deployments/deploymentName/jarname(.jar)/orion-ejb-ja r.xml after deployment and orion/orion-ejb-jar.xml below the ejb-jar root if bundled with the application or if no deployment-directory is specified in server.xml. If using deployment-directory (which is the default) the bundled version will be copied to the deployment location if and only if no file exists at that location. It is used to specify initial (first time) deployment properties. After each deployment the deployment file is reformatted/augmented/altered by the server to add any new/missing info to it. Sounds like in your EJB.jar you should create an orion directory at the root level and palce your file there. Andre -Original Message- From: Steffen Stundzig [mailto:[EMAIL PROTECTED]] Sent: Friday, May 04, 2001 2:23 AM To: Orion-Interest Subject: [EJB] orion-ejb-jar.xml Hi, I'm new to orion. I've wrote down my own 'orion-ejb-jar.xml' file. But if i use auto-deploy by the orion server, then it seems that the server couldn't find this file. At first I put it in the dir 'META-INF' to the 'ejb-jar.xml'. This doesn't work. Then I copy my file into 'application-deployments/myejb/test' near the file deployment.cache. Then the server found it. What must I do, to omit this copy into the applications-deployment directory. I've thought, that I could build an 'myejb.ear' with all JavaClasses and the appropriate deployment descriptors and thats all. The server deploys it automatically. But for now I must build the ear and additional I must copy the orion-ejb-jar.xml. I've overlooked something? Regards Steffen... -- __ Steffen Stundzigmailto:[EMAIL PROTECTED] SMB GmbHhttp://www.smb-tec.com
RE: Common classes between ejb.jar web.war
I believe the ejb-jar file is the correct place. I believe in orion, as in weblogic, the ejb classloader is the parent of each web app classloader, making classes packaged in you ejb jar available to all web apps (within the application). You could also package your classes in a seperate jar/directory and point to it from orion-application.xml (application-deployments/%AppName%) using a lib tag. Hope this helps, Andre -Original Message- From: Lou Farho [mailto:[EMAIL PROTECTED]] Sent: Friday, May 04, 2001 12:30 PM To: Orion-Interest Subject: Common classes between ejb.jar web.war Where should one put classes that are shared between their ejbs and their web interface? Do you create a jar file and put it in the ear? Put in orion's lib dir? Thanks, Lou Farho
RE: has any one tried XSL extensions with orion1.4.7?
Kesav, I've managed to get XSL extensions working with orion 1.4.5. I'm surprised to hear that xalan uses the class loader of the current thread. It appeared to me that it was using the class loader that loaded xalan (most likely the main orion thread) since when I added the extension to my application classpath xalan couldn't find it. If it is using the current thread class loader, it should be enough to simply add a lib tag to you orion-application.xml file with you extension. Since this didn't work for me, I created a work around by starting orion using the command below. MailParser.jar contains my extension, and I needed to include the bsf classes as well. Hope this helps, Andre D:\orion-prodD:\jdk1.3\bin\java -cp orion.jar;NDSupp/MailParser.jar;NDSupp/bsf. jar;NDSupp/bsfengines.jar com.evermind.server.ApplicationServer -Original Message- From: Kesav Kumar [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 01, 2001 2:12 PM To: Orion-Interest Subject: has any one tried XSL extensions with orion1.4.7? Has any one tried xsl extension mecahnism with orion. I am using xalan2.0 with orion. I wrote a java class and I want to call the class from my xsl stylesheet. xalan loads the class using the classloader of the current thread. The class loader what it is getting is from orion. Orion is never able to load the class no matter where I keep my class. Has any one tried this feature with orion1.4.7. Thanks in advance. Kesav Kumar Software Engineer Voquette, Inc. 650 356 3740 mailto:[EMAIL PROTECTED] http://www.voquette.com Voquette...Delivering Sound Information
RE: ...need urgent help!
Tobi, it sounds like you're trying to use ejb's deployed in your orion server from a stand-alone java app, and you want the communication channel between your app and the orion server to be encrypted. Athough I'm not sure it'll work, you might want to look at Orion's RMI-HTTP tunnelling. It enables RMI requests to run over http. If you then install a secure certificate and enable https you might be enable to tunnel RMI over HTTPS, securing your channel. Although there is a document (not very informative) on how to enable RMI-HTTP tunneling the one for RMI-HTTPS says To be written. Sounds like it's possible but you might have to do some hacking at it to get it to work. The docs can be found here: http://www.orionserver.com/docs/index.html -Original Message- From: Tobias Streckel [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 25, 2001 7:39 AM To: Orion-Interest Subject: ...need urgent help! Hello, how can I make an coded connection between orion an my standalone java client? I think I must use the jce but how? Thanks Tobi
RE: Orion CLASSPATH
The orion jar is using the jar extension mechanism. If you look at orion.jar's manifest, you'll see what jars are being added to the classpath automatically. You can read more about the jar extension mechanism on Sun's site. Andre -Original Message- From: Geoffrey Marshall [mailto:[EMAIL PROTECTED]] Sent: Monday, April 23, 2001 10:30 AM To: Orion-Interest Subject: Orion CLASSPATH Hello all! Can anyone tell me what Orion is doing with the CLASSPATH. I suspect it is building its own or adding to mine simply because it knows how to find certain jars that I have not specified anywhere. Any info appreciated... -- Geoffrey W. MarshallDirector of Development --- t e r r a s c o p ephone (415) 951-4944 54 Mint St #110 direct (415) 625-0349 San Francisco, CA 94103 fax (415) 625-0306 ---
RE: security realm in orion
Orion comes with several user managers. The one based on principals.xml, a DataSourceUserManager and an EJBUserManager. Both EJB and DataSource user managers can store information in a relational db. An LDAP based user manager should be simple to write, all you have to do is implement three interfaces (Group, User and UserManager). Take a look at Orion's API docs. The documentation is somewhat lacking, but you should be able to get one working. Andre -Original Message- From: Romen Law [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 07, 2001 4:02 PM To: Orion-Interest Subject: security realm in orion Importance: High ello, Does anyone know what security realms orion supports other than the pricipals.xml file. I want to store users, groups and ACLs (dynamic change of ACL is important to me) in a LDAP or Relational DB, much like what Weblogic can do. Is this possible in Orion? What extra work do I have to do to achieve this? cheers romen IT Architect, Business And Data Services IBM GSA TEL: 612-84484716 FAX: 612-84484008 TIE: 84716
RE: referring to a jar from an ejb-jar file/directory?
Gary, you can also add a library entry to your orion-application.xml. library path="D:\EDM\TPC\xml\bsf.jar" / I use this in my app to get access to third party libraries. I'm glad to hear the manifest method works. I've tried it before, but was never able to get it working. However, I have a question concerning WAR files. The spec says that the manifest classpath is only used by JAR files. If you use the separately JARed classes from servlets or JSP can the class loader still find them? Or more generally, If I have an J2EE application that contains one EJB module and one WAR module, does the web-app class loader automatically include the ejb-module in it's classpath? Since the spec is somewhat vague in this area, a little documentation about Orion's class loader/class path structure would really help. Andre -Original Message- From: Mike Cannon-Brookes [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 28, 2001 11:27 PM To: Orion-Interest Subject: RE: referring to a jar from an ejb-jar file/directory? Running it out of a directory I'm not sure the MANIFEST Class-Path: will work. I know if you use a JAR, it will work that way. It's the way the OSCore library works, http://www.opensymphony.com/oscore -mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Gary Shea Sent: Thursday, March 01, 2001 4:35 PM To: Orion-Interest Subject: referring to a jar from an ejb-jar file/directory? I have an ejb application running under orion. I want to restructure the code so that some common code is put into a jar. The problem is that I can't figure out a way, short of putting the jar in the orion/lib directory, to make the contents of the jar available to the ejb side of the application. The EJB-2.0-pfd spec says: The ejb-jar file must also contain, either by inclusion or by reference, the class files for all the classes and interfaces that each enterprise bean class and the remote and home interfaces depend on, except J2EE and J2SE classes. (page 486) Well, what does 'reference' mean? The only hint I have found is: An ejb-jar file does not have to physically include the class files if the classes are defined in another jar file that is named in the Class-Path attribute in the Manifest file of the referencing ejb-jar file or in the transitive closure of such Class-Path references. (page 487) Well, I'm going to try creating a manifest file with a Class-Path in it, but since I'm running out of a directory, not an actual ejb-jar file, I really doubt this is going to work! Any hints would be greatly appreciated... Gary
RE: Starting threads not permitted in servlet?
As far as I know, the EJB spec specifically forbids creating threads Sec 18.1.2. The servlet spec 2.2 Sec 1.2 says: "For example, high end application servers may limit certain action, such as the creation of a Thread object, to insure that other components of the container are not negatively impacted." Andre -Original Message- From: Falk Langhammer [mailto:[EMAIL PROTECTED]] Sent: Thursday, March 01, 2001 6:38 AM To: Orion-Interest Subject: Re: Starting threads not permitted in servlet? Somebody on this list said that you're not allowed to start threads inside a servlet container. Is this really in the spec (this was claimed), or is it implementation-dependent? I am not sure for the web container. But the situation is even fuzzy for an EJB container. I believe that in Orion, there isn't much difference between the two (except for the RMI and wrapper subclasses). Here is what the Borland BAS4.5 spec says about the EJB programming restrictions: ---8--- Verifies in accordance with pedantic EJB 1.1 rules. There are four warnings that have been classified as pedantic: -- Throwing java.rmi.RemoteException from a bean method is deprecated. -- Static fields in the bean class must be final. (This is actually a useful rule, which is violated by the Java compiler.) -- The primary key type must define the equals(Object) method. -- The primary key type must define the hashCode() method. The behavior of the verifier is that, by default, these rules are ignored. Choosing the Pedantic option causes violations of these rules to issue warnings. For deployment purposes, warnings are ignored, meaning that you can go ahead and deploy beans which have warnings. However, you cannot deploy beans which have errors. Keep in mind the following about pedantic verification: 1) Not actually required by our runtime, meaning that your code will work as is. 2) Questionable altogether, and may well be eliminated from the EJB specification when people realize how annoying they are. 3) Violated in almost every EJB program ever written, both in our product and in all the various books ever written about EJB. ---8--- Especially, note point 3) :-)) - Below is a list of programming restrictions defined in the EJB 1.1 specification. An enterprise bean is not allowed to manage threads and thread groups. It should not start new threads or resume suspended threads, nor should it terminate or suspend the running thread. In addition, an enterprise bean should not change a thread's priority or its name. An enterprise bean is not allowed to use read/write static fields. Using read-only static fields is allowed. Therefore, all static fields must be declared as final. An enterprise bean is not allowed to use thread synchronization primitives to synchronize the execution of multiple instances. An enterprise bean must not use the Java AWT functionality to output information to a display or to accept information from a keyboard. An enterprise bean should not use the java.io package to access files and directories in the file system. An enterprise bean should refrain from using sockets; in particularly, the bean should not listen on a socket, accept connections on a socket, or use a socket for multicast. In addition, it should not set the socket factory used by ServerSocket, Socket, or the stream handler factory used by URL. An enterprise bean must not access classes or packages, or attempt to obtain information about classes, in a manner normally disallowed by the Java programming language or if the classes are normally unavailable to the enterprise bean. An enterprise bean must not access the runtime environment functions normally handled by the container--create a class loader or access or change its context, set or create a security manager, stop the JVM, change input, output, or error streams. An enterprise bean must not obtain security policy information for a particular code source as this would compromise security. An enterprise bean must not load a native library. An enterprise bean must not define a class in a package, as this is a function reserved for the container for security reasons. An enterprise bean must not use the subclass and object substitution features of the Java Serialization Protocol. An enterprise bean should be careful if passing this as an argument or method result. It is safer for the bean to pass the result of SessionContext.getEJBObject() or EntityContext.getEJBObject(). An enterprise bean is not allowed to access or modify security configuration objects. For example, it is not allowed to change its java.security.Identity. Any such attempt will result in the java.security.SecurityException being thrown.
RE: problem in accessing ejb from a bean in web-inf/classes direc tory .
These should be in the WEB-INF directory. If you have your application packaged as WAR file it should have a folder called WEB-INF. Your web.xml file should be there. If you're running your code using orion's default web app, you'll find the file under orion/default-web-app/WEB-INF. In your web.xml file the ejb references should be defined like so: ejb-ref ejb-ref-nameejb/EDMSessionBean/ejb-ref-name ejb-ref-typeSession/ejb-ref-type homeCore.BusinessObjects.EDMSession.EDMSessionHome/home remoteCore.BusinessObjects.EDMSession.EDMSessionRemote/remote ejb-linkTheEDMSessionBean/ejb-link /ejb-ref With this definition my code would then expect to find the bean under java:comp/env/ejb/EDMSessionBean In you orion-web.xml, which should reside in you application-deployments directory, you need to link the bean like this: ejb-ref-mapping name="ejb/EDMSessionBean" location="TheEDMSessionBean" / In this case location="TheEDMSessionBean" is the location specified in your ejb-jar. Hope this helps. Andre -Original Message- From: Prabahkar Subramaniam [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 28, 2001 9:18 AM To: 'Andre Vanha' Subject: RE: problem in accessing ejb from a bean in web-inf/classes direc tory . Where can I find the web.xml and orion-web.xml files?. Prabahkar -----Original Message- From: Andre Vanha [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 5:42 PM To: Orion-Interest Subject: RE: problem in accessing ejb from a bean in web-inf/classes direc tory . Did you define the ejb-refs in your web.xml and link them correctly in orion-web.xml? It works fine for me. Andre -Original Message- From: Prabahkar Subramaniam [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 2:14 PM To: Orion-Interest Subject: RE: problem in accessing ejb from a bean in web-inf/classes direc tory . I tried the following 2 ways and get the same error: Object hdrObj = cntx.lookup("java:comp/env/B2BOrderHeader"); headerHome = (B2BOrderHeaderHome) and headerHome = (B2BOrderHeaderHome)cntx.lookup("B2BOrderHeader"); error: javax.naming.NameNotFoundException: B2BOrderHeader not found at com.evermind.server.rmi.RMIContext.lookup(JAX) at com.evermind.server.hl.f3(JAX) at com.evermind.server.hl.lookup(JAX) at javax.naming.InitialContext.lookup(Unknown Source) at replacement.OrderBeanWrapper.loadOrder(OrderBeanWrapper.java:142) at __jspPage1_replacement_loadorder_jsp._jspService(__jspPage1_replacement_load order_jsp.java:44) at com.orionserver.http.OrionHttpJspPage.service(JAX) at com.evermind.server.http.HttpApplication.xa(JAX) at com.evermind.server.http.JSPServlet.service(JAX) at com.evermind.server.http.d3.so(JAX) at com.evermind.server.http.d3.sm(JAX) at com.evermind.server.http.ef.su(JAX) at com.evermind.server.http.ef.dn(JAX) at com.evermind.util.f.run(JAX) The line 142 is: headerHome = (B2BOrderHeaderHome) cntx.lookup("B2BOrderHeader"); Thanks in advance for your help Prabahkar -Original Message- From: Rafael Alvarez [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 10:59 AM To: Orion-Interest Subject: Re: problem in accessing ejb from a bean in web-inf/classes directory . Hello Prabahkar, Monday, February 26, 2001, 7:38:40 PM, you wrote: Try using Object hdrObj = cntx.lookup("B2BOrderHeader"); I think I remember vagely a thread in this list about java:comp/, but that was 3000 messages ago :). Anyway, this works fine for me. -- Best regards, Rafaelmailto:[EMAIL PROTECTED]
RE: JAXP
The other day, somebody posted a well written document on Java2 class loaders. I wish I had the url to the document, but I can't find it. The gist of the document was this: All class loaders within a jvm form a hierarchy with the boot class loader being at the root. No matter which class loader in this hierarchy is utilized, it's job is to always delegate to it's parent class loader before attempting to load anything on it's own. In this case I belive orion's application class loaders will still be children of orion's class loader, so classes defined at the class path level (using orion.jar's classpath manifest attribute) will be used. Even if you create a lib entry to jaxp in server.xml or orion-application.xml the jxap that ships with orion will be used. Andre -Original Message- From: Conrad Chan [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 4:25 PM To: Orion-Interest Subject: RE: JAXP Have you try to package your version of JAXP files inside your application archive (ear, war)? This idea comes from the fact that every class is identified not only its class name but also which class loader it is loaded from. Since Orion supports dynamic loading of application files, it should be using a custom classloader for every application. Hence, by theory, you should be able to use a different JAXP than the one Orion uses. Of course it depends on exactly how Orion implements this. If Orion looks for classes from the default classloader first, it is still not going to work. But I think it does worth a try. Hope this help Conrad -Original Message- From: Richard Doust [mailto:[EMAIL PROTECTED]] Sent: Friday, February 23, 2001 4:31 PM To: Orion-Interest Subject: JAXP I have been working on this problem all day. I have posted once before and no one responded. I will try again. I'm no Java expert and this is just my ignorance, but can anyone tell me if I'm correct in my assumptions on this. I am trying to develop server side code that runs under Orion that uses the JAXP code that Sun has recently released. There are different versions of parser.jar, xalan.jar and jaxp.jar distributed with Orion. Older ones. I have tried replacing the older ones with the newer ones because my code requires the newer ones and I guess that my code will be running in the same image as Orion. Orion fails to start due to an exception while trying to parse its configuration files. Putting the old .jar files back, it works again. So, now it occurs to me that I'm basically stuck running with whatever version of support code the tools I'm using are dependent on. If I'm right, that means I can't use the latest version of JAXP until Orion does? Is that right? Anyone? Thanks, Rich
mail.jar POP3
Hello, I'm trying to add POP3 functionality to my application on orion. Unfortunately, the mail.jar that ships with orion does not include the POP3 provider. Does anyone know how I can enable the POP3 provider from Sun without replacing, or otherwise having to modify the existing mail.jar? Thanks, Andre Machines should work. People should think. -- IBM motto
RE: problem in accessing ejb from a bean in web-inf/classes direc tory .
Did you define the ejb-refs in your web.xml and link them correctly in orion-web.xml? It works fine for me. Andre -Original Message- From: Prabahkar Subramaniam [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 2:14 PM To: Orion-Interest Subject: RE: problem in accessing ejb from a bean in web-inf/classes direc tory . I tried the following 2 ways and get the same error: Object hdrObj = cntx.lookup("java:comp/env/B2BOrderHeader"); headerHome = (B2BOrderHeaderHome) and headerHome = (B2BOrderHeaderHome)cntx.lookup("B2BOrderHeader"); error: javax.naming.NameNotFoundException: B2BOrderHeader not found at com.evermind.server.rmi.RMIContext.lookup(JAX) at com.evermind.server.hl.f3(JAX) at com.evermind.server.hl.lookup(JAX) at javax.naming.InitialContext.lookup(Unknown Source) at replacement.OrderBeanWrapper.loadOrder(OrderBeanWrapper.java:142) at __jspPage1_replacement_loadorder_jsp._jspService(__jspPage1_replacement_load order_jsp.java:44) at com.orionserver.http.OrionHttpJspPage.service(JAX) at com.evermind.server.http.HttpApplication.xa(JAX) at com.evermind.server.http.JSPServlet.service(JAX) at com.evermind.server.http.d3.so(JAX) at com.evermind.server.http.d3.sm(JAX) at com.evermind.server.http.ef.su(JAX) at com.evermind.server.http.ef.dn(JAX) at com.evermind.util.f.run(JAX) The line 142 is: headerHome = (B2BOrderHeaderHome) cntx.lookup("B2BOrderHeader"); Thanks in advance for your help Prabahkar -Original Message- From: Rafael Alvarez [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 10:59 AM To: Orion-Interest Subject: Re: problem in accessing ejb from a bean in web-inf/classes directory . Hello Prabahkar, Monday, February 26, 2001, 7:38:40 PM, you wrote: Try using Object hdrObj = cntx.lookup("B2BOrderHeader"); I think I remember vagely a thread in this list about java:comp/, but that was 3000 messages ago :). Anyway, this works fine for me. -- Best regards, Rafaelmailto:[EMAIL PROTECTED]
RE: Any way to forward to j_security_check?
It might be possible to achieve this without forwarding. I haven't tried it, but using Orion's role manager might do the trick. First you can retrieve the role manager using RoleManager manager = (RoleManager)new InitialContext().lookup("java:comp/RoleManager"); The you can call login on the RoleManager with the appropriate username and password. This may do the trick. You can get more info about the user manager in the Orion API docs or at http://www.orionserver.com/docs/api/com/evermind/security/RoleManager.html. Let me know if this works, I'm curious muslef. Andre -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 22, 2001 5:27 AM To: Orion-Interest Subject: Any way to "forward" to j_security_check? Does anyone know a way to "forward" to the j_security_check processing in Orion ? We use form-based login but have our own processing to do ahead of the standard j_security_check. On J2EE Reference Implementation (and e.g. Weblogic) we post the form to our own servlet instead of j_security_check, then forward from this to j_security_check. This doesn't seem to work on Orion i.e. j_security_check doesn't seem to be something one can get a request dispatcher for. Of course, the servlet spec doesn't mandate anything about how the server should implement the j_security_check mechanism, so potentially it doesn't have to have anything that can be referenced and invoked from application code. But it would be useful to be able to. I've also thought about programmatically simulating a post to j_security_check instead of trying to forward to it, but doesn't look simple and not sure this would work on Orion either. Might be helped by Servlet 2.3 but can't move to that yet. Am I just missing some trick to this, or is it not possible on Orion? Or is it related to a bug somewhere ? (n.b. even a normal post to j_security_check seems to fail, and to get sign-on to work I have to use Orion's non-standard feature of leaving the action unspecified). *** NIG The National Insurance Guarantee Corporation PLC Reg. Office : Crown House 145 City Road London EC1V 1LP Registered in England Wales No : 42133 *** Legal disclaimer : This message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer. NIG does not accept responsibility for changes made to this message after it was sent.
RE: Global Directories
Aniket, I added this virtual directory to the default web app deployment descriptor orion-web.xml. The file resides under orion/application-deployments/default/defaultWebApp. Since the default web app is bound to the root, the content defined in these virtual folders is accessible from all of my applications. I've used the approach for static contents such as html and images, but it probably won't work if you plan to use the forward and include calls on the content in the virtual directories. virtual-directory virtual-path="/HTMLS" real-path="D:\EDM\HTMLS" / Andre -Original Message- From: Aniket V U [mailto:[EMAIL PROTECTED]] Sent: Saturday, February 17, 2001 12:34 AM To: Orion-Interest Subject: Global Directories Hi, I was wondering if I can define a global Virtual directory i.e a directory that can be accessed from any application deployed in Orion?? I tried setting the Virtual Directory in Global-Web-Application.xml but i couldnt access the directory. The virtual directories work fine if I define them at each application level in orion-web.xml. Im using orion 1.4.5, jdk 1.3, W2K. Any pointers would be much appreciated. Thanks and Regards Aniket
RE: Remove me from this mailing list
Is there a problem with the subscribe/unsubscribe form? It's always worked for me. http://www.orionserver.com/subscribe.html If you can't work the form, how do you expect to work with J2EE? Andre -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, February 16, 2001 8:32 AM To: Orion-Interest Subject: Remove me from this mailing list Please remove me from this mailing list
RE: Where are the perfumes bubble bath beads
Although perfumed bubble bath beads are nice and fun to use, sometimes their aroma can be nauseating. In my opinion the less code the better. Less bugs, and quicker fixes. The company I work for now uses iPlanet, and I really miss working with Orion. In my opinion even the beta version of Orion were more stable than IAS6 is now. There are several reasons IAS is so big, and I would assume the other heavy weights for similar reasons. IPlanet used to be Netscape Application Server which used to be Kiva Application server before the days of J2EE, and it includes support for Applogics (Proprietary api for writing servlet-like-things in C++). All the J2EE features were just tacked on, and I doubt anybody cleaned up the old code, so there's a lot of legacy baggage. - Full clustering support at all levels. - Netscape Directory Server for LDAP backed JNDI and authentication. - Netscape Administration Server and Console - iPlanet Web Server - Based on Netscape Enterprise Server. - 400+ pages of documentation - Lots of buggy deployment and packaging tools - Something orion has in common ;) - Broken ejb compilers (On Solaris) - A great feature which randomly throws ClassCast exceptions when using SFSBs. - AbstractMethod exceptions in compiled jsps. Although my last three points are just vents of frustration, the point I'm trying to make is that size!=quality. Sure iPlanet in a cluster configuration can handle more requests than Orion, but at $40K+ per server, its probably better to run several cheaper servers and buy an expensive, hardware based load balancer. I think oracle 9I AS brings a lot of database integration to the server, and when you look at just the size of the Net8 client, 1Gig doesn't sound that far-fetched. Last of all, everyone is always complaining about orion's documentation. True, Orion doesn't provide hand-holding documentation, and the existing docs could definitely use improvement, but there is certainly enough there to get a basic app up and running. iPlanet comes with a 200 page developer's guide, a 100 page administrator's guide and lots of supplements. How much value do they add? To a complete J2EE beginner, probably some, but their news group contains almost as many and the same type of questions as the orion list. Orion is a J2EE server, so to use it, and any other J2EE server, you need to understand J2EE. J2EE is complex (that's why we get paid the big bucks), but once you get at least a basic understanding (things like EARs, WARs, EJB-JARs and resource-refs) the only documentation you'll need is for server specific configuration, and the orion docs pretty much cover that. I agree some of the advanced features (such as SSL, JMS and such) are lacking, but even those were sufficient to get me up and running although it took longer. I admit I'm biased since I learned J2EE on Orion, but in my experience, Orion is fairly easy to work with compared to IAS and Weblogic. Maybe I need to take a look at some of these other servers since everyone is raving about their documentation. Andre -Original Message- From: Kemp Randy-W18971 [mailto:[EMAIL PROTECTED]] Sent: Friday, February 16, 2001 7:06 AM To: Orion-Interest Subject: Where are the perfumes bubble bath beads Here is a mystery I need help with. If all JSP engines and EJB servers are approximately equal, then what explains the size differences in the following examples? Latest production Orion - 10 MG Latest production Resin - 12.8 MG Latest productions Jboss/Tomcat - 23.3 Mg Latest production Unify Ewave Engine - 18.1 MG Latest production Iplanet 6.1 - Approximately 1 Gig Latest Productions Oracle 9I AS - Approximately 1 Gig In a past commercial for Motel 6, they talk about not having any perfumed bubble bath beads, like the higher priced hotels. So I ask these questions. What could possible take up 1 gig, when all JSP engines and EJB servers are supposed to have similar or identical functionality? Out of curiosity, how much space does Weblogic take up? Where are the perfumed bubble bath beads in the 1 gig space?
RE: How to configure datasources
Take a look at http://www.orionserver.com/docs/api/index.html. -Original Message- From: Frank Eggink [mailto:[EMAIL PROTECTED]] Sent: Friday, February 16, 2001 8:44 AM To: Orion-Interest Subject: How to configure datasources To be honest I know little about how to configure datasources for Orion. What should I read to understand the differences between the classes you can specify in 'data-sources.xml'? Thanks, FE Frank Eggink Swift Applications [EMAIL PROTECTED] +31 6 28847325 (voice) +31 33 4532464 (fax)
RE: Orion doesn't work.
For Orion to work you shouldn't have to modify your classpath since it uses the JDK1.2 extension mechanism (Classpath specified in the jar manifest). If it's not working its most likely a jvm issue. When you type java -version what do you get? Andre -Original Message- From: SureTicket.com [mailto:[EMAIL PROTECTED]] Sent: Friday, February 16, 2001 6:35 AM To: Orion-Interest Subject: RE: Orion doesn't work. You need to make sure you setup your CLASSPATH right, if it is then you unziped all over your computer ;) I mean distibution is half assed. download and reinstall/reconfigure -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Geoff Marshall Sent: Thursday, February 15, 2001 6:10 PM To: Orion-Interest Subject: Orion doesn't work. I've surfed and surfed, and can't find any info on the problem I'm having. HELP! All brand new: Red Hat Linux v7, Sun J2EE 1.2.1, Sun JDK1.3, Orion 1.4.5 [geoff@daphne orion]$cd /usr/local/orion [geoff@daphne orion]$ java -jar orion.jar java.lang.NoClassDefFoundError: com/evermind/gui/server/ServiceConsole at java.lang.reflect.Method.invoke(Method.java:native) at kaffe.jar.ExecJarName.main(ExecJarName.java:70) at kaffe.jar.ExecJar.main(ExecJar.java:59) Obviously, I'm missing some class, but where/what is it? The JDK/SDK seems to be working fine i.e. I can compile and run java applications, etc. Does some .jar file need to be expanded??? HELP! -- -Geoff Marshall, Director of Development ... t e r r a s c o p e (415) 951-4944 54 Mint Street, Suite 110 direct (415) 625-0349 San Francisco, CA 94103 fax (415) 625-0306 ... -- -Geoff Marshall, Director of Development ... t e r r a s c o p e (415) 951-4944 54 Mint Street, Suite 110 direct (415) 625-0349 San Francisco, CA 94103 fax (415) 625-0306 ...
RE: One IP - 3 Sites - 3 Domain Names
As far as I know what you're trying to accomplish is impossible. A web server binds to an IP addresses. The domain names are just pointers to the same IP address. So in effect your're trying to run 3 webserver on the same exact IP. You could bind to different ports, but then your URLs would be non-standard. To do this correctly you'll need a different IP for each domain. One possibility that comes to mind, though I have no idea it will work, is to analyze the URL request in your servlet or JSP and attempt to inlcude/forward the appropriate content in your code, depending on what you find. Andre V -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Dave Ford Sent: Wednesday, September 27, 2000 1:33 PM To: Orion-Interest Subject: One IP - 3 Sites - 3 Domain Names I have one physical machine with one IP address. This one ip address is associated with three domain names. Each domain name should pull up a different web-site. I currently have 3 web-sites defined in server.xml: web-site path="c:\@web\@OrionConfig\web-site-1.xml" / web-site path="c:\@web\@OrionConfig\web-site-2.xml" / web-site path="c:\@web\@OrionConfig\web-site-3.xml" / I then have three web-site-x.xml files defined. It's not clear what the value of the host and virtual-hosts attributes should be for each of these three files. I have read the docs and the faq but still can't get it to work. I tried this: In web-site-1.xml: web-site host="www.domainName1.com" In web-site-2.xml: web-site host="www.domainName2.com" In web-site-3.xml: web-site host="www.domainName3.com" And this: In web-site-1.xml: web-site host="63.74.110.162" virtual-hosts="www.domainName1.com" In web-site-2.xml: web-site host="63.74.110.162" virtual-hosts="www.domainName2.com" In web-site-3.xml: web-site host="63.74.110.162" virtual-hosts="www.domainName3.com" It is not obvious to me, based on the docs, how to set this up. Any suggestions? Dave Ford
RE: User/Group manager guide
Arved, I took a look at the scenario you describe, and I was able to make method permissions work with roles as they should. If a user who was part of the users group was logged in, an exception would be trown. If the user was added to the CSR group everything worked. Let me describe my orion security setup as it is somewhat complex, but I have no doubt it will work with any properly written user manager. I use a custom user manager I built on two database tables (I wanted password encryption). One contains users, and the other contains group membership. Since I was in a hurry when I wrote the UserManager I let orion manage the groups themselves through it's XML implementation, hence the principals.xml below. Below are related excerpts from my configuration files. I can't really provide a working ear file, but I'm pretty sure the example ATM application uses method level permissions, so it might be a good place to experiment. In case you're interested, you can find my Custom user manager implementation at http://www.geocities.com/vanha/usermanagerImp.jar. Its somewhat sloppy as I worte it in a real hurry, but it may provide some useful info. application.xml: security-role role-nameuser/role-name /security-role security-role role-namecsr/role-name /security-role orion-application.xml: security-role-mapping name="user" group name="users" / /security-role-mapping security-role-mapping name="csr" group name="csr" / /security-role-mapping principals.xml: groups group name="csr" descriptionservice/description permission name="rmi:login" / permission name="com.evermind.server.rmi.RMIPermission" / /group /groups ejb-jar.xml: security-role role-nameuser/role-name /security-role security-role role-namecsr/role-name /security-role method-permission descriptionRestricted/description role-namecsr/role-name method ejb-nameProduct/ejb-name method-name*/method-name /method /method-permission -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Arved Sandstrom Sent: Tuesday, September 19, 2000 7:26 AM To: Orion-Interest Subject: RE: User/Group manager guide I'm looking forward to docs and examples myself. One thing that I've noticed, after copious experimentation with the DataSourceUserManager, is that the group = mapping is somewhat deficient. In other words, I have my users and groups tables set up, and I've made suitable mods and adjustments to principals.xml, orion-application.xml, ejb-jar.xml, and orion-ejb-jar.xml as required (or suggested). In some cases I'm flailing about, frankly. In any case, a login with username and password is obviously finding the group, and mapping the group to role, because when I check the role after login it's OK. I don't have to hardcode it, which is vital. However, and I've tried everything, I don't believe this knowledge is being passed on to the EJB container. No role, however declared in the various J2EE/Orion descriptors, is able to access *any* method in an EJB that has method-permissions. So my assessment on the user/role managers is that it is reasonably useful: one can assign roles based on login, and test for that as required. But method-level security in EJBs does not work, at least not in a documented, demonstrated and reliable manner. The odd thing is, is that this may not be that much of a big deal. I've been writing J2EE for pretty much a full year, and I have yet to see a situation where method-level permissions gain me anything at all. It's literally never been necessary. It seems to be one of these J2EE things that made ostensible sense at the time but has little practical value. Just a thought. The only reason it disturbs me is because it should work and doesn't. :-) If an example can be supplied - complete with Orion-specific deployment descriptors - I'll be overjoyed. Arved Sandstrom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Lawrence Fry Sent: Monday, September 18, 2000 6:36 PM To: Orion-Interest Subject: RE: User/Group manager guide Guilherme, Here Here! I'm glad somebody said it. But without documentation, you should look at the archives to this list, because many of these problems have already been worked out. For example...it isn't said anywhere in the documentation, but the EJBUserManager is the most useful device for ecommerce. With this, you can automatically login users and create users for your website...without
RE: container transactions not working...
Try using the XA datasource when you acquire a connection: jdbc/xa/myXADS In your ejb-jar file: resource-ref res-ref-namejdbc/myXADS/res-ref-name res-typejavax.sql.XADataSource/res-type res-authContainer/res-auth /resource-ref In your bean: Context naming = new InitialContext(); XADataSource ds = (XADataSource)naming.lookup("java:comp/env/jdbc/myXADS"); Connection conn = ds.getXAConnection().getConnection(); I use an XADatasource with orcale and transactions work correctly. Also I read somewhere if you use JDBC from within EJBs you should use the EJBDS resource, however everything works fine for me with XADatasource. EJBDS might only be applicable to Entity Beans. Andre -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Tony Abbott Sent: Thursday, September 21, 2000 6:33 PM To: Orion-Interest Subject: container transactions not working... hi hope someone can help me as i am now highly frustrated :) i am unable to get container managed transactions to work in conjunction with jdbc/oracle. basically i have a stateless session bean which writes to tables. It seems to me orion is not managing the transactions at all. With the setup and code below it does not roll back the transaction despite the setRollbackOnly(). If I throw a system exception it does not roll back either. If I do multiple inserts in the method each insert is committed immediately and not as a single transaction at the end of the method. I'm really hoping I'm missing something obvious and this is not a serious problem in orion... Any help/suggestions would be highly appreciated! I'm using Oracle 8.1.6R2, classes12.zip (Oracle JDBC drivers), JDK1.3rc1 on Linux and have tried Orion 1.3.8 and 1.2.9 with the same results. data-sources.xml: data-source name="test" class="com.evermind.sql.ConnectionDataSource" location="jdbc/myDS" pooled-location="jdbc/myPooledDS" xa-location="jdbc/xa/myXADS" ejb-location="jdbc/myEJBDS" url="jdbc:oracle:oci8:@mydb" connection-driver="oracle.jdbc.driver.OracleDriver" username="user" password="password" / and in ejb-jar.xml session descriptionA session bean/description ejb-nameTestBean/ejb-name homeTestHome/home remoteTest/remote ejb-classTestBean/ejb-class session-typeStateless/session-type transaction-typeContainer/transaction-type resource-ref res-ref-namejdbc/myPooledDS/res-ref-name res-typejavax.sql.DataSource/res-type res-authContainer/res-auth /resource-ref /session and assembly-descriptor container-transaction method ejb-nameTestBean/ejb-name method-nameload/method-name /method trans-attributeRequired/trans-attribute /container-transaction /assembly-descriptor and the method: public void load() { Connection con = null; PreparedStatement ps = null; try { Context naming = new InitialContext(); DataSource ds = (DataSource)naming.lookup("java:comp/env/jdbc/myPooledDS"); con = ds.getConnection(); ps = con.prepareStatement("insert into mytable (id, value) values (?, ?)"): ps.setInt(1, 1); ps.setString(2, "testing"); ps.executeUpdate(); context.setRollbackOnly(); } catch (NamingException e) { throw new EJBException(e); } catch (SQLException e) { throw new EJBException(e); } finally { try { if (ps != null) ps.close(); if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } } -- Tony Abbott [EMAIL PROTECTED]
RE: REPOST: Running application code at startup
Vidur, I used to run orion from my own launcher class for the same reasons. I have since then removed the cumbersome code. Also orion provides methods for launching programs/application clients automatically. If possible I suggest moving down that route instead. Check out the client-module tag in orion-application.xml. If you still want to use your own launcher class, I have included my old source, however I haven't used it since version .9 so it may not solve your problems. Also I never specified the -userThreads flag as you have, but I was able to spawn new threads outside of orion without a problem. From reading through the documentation, the userThreads switch is mainly there for cases where new threads are spawned from within Servlets or EJBs. I hope you find this at least somewhat useful. Andre V Capture Logic code package wa; import com.evermind.server.ApplicationServer; import wa.process.Maintenance; public class Launcher { public Launcher() { } public void runOrion(String[] args) { System.out.println("Starting Server..."); // These lines spawn threads wa.Entity.Cache.CacheControl.StartMaintenace(); Maintenance lxMaintenance = new Maintenance(6); lxMaintenance.init(); lxMaintenance.start(); try { /* Start orion, however I could not figure out why this call always returned, so I built this hack to monitor if there were any active threads in orion's thread pool, and shut down once all of orion's threads were closed. This was very cumbersome and I decided to resturcture my application to eliminate the need for startup code. */ ApplicationServer.main(args); System.out.println("WA Launcher: Server Started"); ThreadGroup lxTGroup = Thread.currentThread().getThreadGroup(); Thread lxCThread = Thread.currentThread(); lxCThread.setPriority(Thread.MIN_PRIORITY); boolean lbRun = true; while (lbRun) { lxCThread.sleep(1000); ThreadGroup[] lxGA = new ThreadGroup[lxTGroup.activeGroupCount()]; int lnCount = lxTGroup.enumerate(lxGA); for (int i = 0; i lnCount; i++) { if (lxGA[i].getName().equalsIgnoreCase("applicationServerThreadGroup") lxGA[i].activeCount() == 0) { lbRun = false; break; } } } System.out.print("Server Shutdown: "); wa.Entity.Cache.CacheControl.StopMaintenace(); lxMaintenance.shutdown(); System.out.println("Done!"); } catch (Exception lxE) { System.out.println("Unexpected Server Termination: " + lxE.getMessage()); System.out.println("=="); lxE.printStackTrace(); } } public static void main(String[] args) { System.out.println("World Adventures Server Launcher."); Launcher launcher = new Launcher(); launcher.invokedStandalone = true; launcher.runOrion(args); } private boolean invokedStandalone = false; } -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Vidur Dhanda Sent: Sunday, August 13, 2000 12:21 PM To: Orion-Interest Subject: REPOST: Running application code at startup Sorry for reposting this, but it has become absolutely critical and I would appreciate any help. -- Hello, Could someone please point out what I'm doing wrong. I'm sure I'm missing something really simple here. I can't get an Orion server to run under program control and do some application specific initialization. I'm inlining some simplified code and output. Thanks, Vidur import javax.naming.*; import com.evermind.server.*; public class Server { public static void main(String[] args) { try { ApplicationServer.main(new String[] {"-userThreads"}); Context ctx = new InitialContext(); ctx.lookup ("foo"); }
CMP Finder Like Query
Hi everyone, I have a CMP entity bean which defines a finder method like this: Collection findByPartialUserName(String UserName). I have deployed this entity bean against an oracle database but I am having trouble specifying the query for this finder method. Ideally I want the SQL query to look something like this: "SELECT * FROM users WHERE username LIKE '%abc%', but I have no idea how to specify such a query within the deployment descriptor. For now I have simply entered "$UserName LIKE $1" into the query clause and I am manually adding the leading and trailing percent sign to the UserName parameter before calling this finder, but it seems like there should be a better way. Has anyone run into a similar problem and solved it? I've also tried "$UserName LIKE '%$1%'" and "$UserName LIKE %$1%" but the database complains that the statement is invalid. Thanks in advance for any suggestions. Andre V
RE: Pet Store and UserManager problems
From the archive I understand some folks were trying to roll their own (Implementation of UserManager): I've been able to successfully roll my own UserManager which is backed by a database and has password encryption. It's missing the ability to add/delete groups, and is based directly on a database, rather than an EJB, but it might be usefull to other people trying to roll their own. If anyone's interested, I can post a jar with my implementation. Andre V -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Kalvar, Kirk Sent: Friday, June 23, 2000 6:34 AM To: Orion-Interest Subject: RE: Pet Store and UserManager problems Brian: I'm also looking at the same issue. I've search the archive/FAQ's and there are a few items referring to UserManger but nothing that provides a clear path to implementing it. From the archive I understand some folks were trying to roll their ownr. Kirk S. Kalvar, Software Engineer DRS Electronic Systems Group
RE: Perl CGI
The global-web-application file in orion/config contains a mapping so that any *.pl file is executed through Orion's CGI servlet (which in turn invokes perl). All you need to do is make sure the perl executable is in your path. Hope this helps, Andre V. -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Dale BronkSent: Tuesday, March 14, 2000 7:01 PMTo: Orion-InterestSubject: Perl CGI Can someone give me some help on settings to allow my web-app to do Perl cgi? I have some legacy scripts that I need to use and can't seem to find anything in the documentation. On that note, any news on when we will have real documentation as far as a full user manual with getting started (hand holding) sections through advanced topics like clustering, jsm, etc? Dale Bronk[EMAIL PROTECTED]Windscape Consulting, Inc.http://www.windscape.com
SSL Problems
Hello, I've tried to follow the ssl-howto but I can't get orion to start my secure site. I'm hoping someone who has gotten ssl to work can give some insights. I've tried this on both orion 0.9.4 and 0.9.4j but the results are the same. Here are the steps I took to work through the howto: Just like the howto said, I generated my RSA key and created a certificate request. In order to generate the RSA key, I installed the default JSSE provider (com.sun.net.ssl.internal.ssl.Provider in jsse.jar) that came with the orion distribution, into my java.security configuration file. I posted my certificate request to thawte's test certificate generator and created a certificate with the default options (Test X509v3 SSL Cert). When I tired to import my new certificate, keytool gave me an error, something along the lines that it couldn't create the certificate chain, so I imported thawte's Root Test CA certificate into my Keystore. With the CA certificate in place, I was able to import my certificate without further problems. The problem occurs when I try to secure one of orion's websites with this ssl configuration: ssl-config keystore="E:\WA\ssl\WAKeyStore" keystore-password="123123123" needs-client-auth="false" / Orion always fails to start up the secure site with this error: Error starting HttpServer: Unable to intialize SSLServerSocketFactory 'com.everm ind.ssl.JSSESSLServerSocketFactory': javax/net/ServerSocketFactory I've tried different web sites and ports. One thing that came to mind was matching the key alias to the site hostname parameter but that doesn't work either. What am I missing? Did I use the wrong RSA key generation provider or the wrong kind of SSL certificate? Any help would be greatly appreciated. Thanks, Andre V