butek 02/04/22 06:38:25 Modified: targets/axis faq.html Log: Added some FAQ items (courtesy Glen). Revision Changes Path 1.5 +97 -23 xml-site/targets/axis/faq.html Index: faq.html =================================================================== RCS file: /home/cvs/xml-site/targets/axis/faq.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- faq.html 11 Mar 2002 11:42:40 -0000 1.4 +++ faq.html 22 Apr 2002 13:38:25 -0000 1.5 @@ -2,7 +2,7 @@- + @@ -14,27 +14,57 @@
These questions seem to be frequently asked:
Axis is essentially Apache SOAP 3.0. It is a from-scratch rewrite, designed around a streaming model (using SAX internally rather than DOM). The intention is to create a more modular, more flexible, and higher-performing SOAP implementation (relative to Apache SOAP 2.0).-Why call it "Axis"? +Why call it "Axis"?
The name "Axis" was chosen because, when the project started, the XML Protocol working group had not chosen a name for its protocol. The intent was for Axis to support SOAP 1+, XML-RPC, and XMLP (whatever @@ -44,14 +74,12 @@ the Apache SOAP project. C'est la vie.-Is Axis close to a release of some kind? -
(According to the README, AXIS stands for "Apache eXtensible Interaction System", which could mean almost anything.)
-Yes, depending on who you ask :-) The current code base already +Is Axis close to a release of some kind? ++What is Axis's status overall?Yes, depending on who you ask :-) The current code base already supports most of the standard interop tests. Some features remain to be -implemented, but we envisage a beta in the very near future -(as of 11 March 2002). --What is Axis's status overall? +implemented, but we envisage a beta in the very near future (as of 11 March +2002).
To keep track of Axis's progress:-Why do some classes fail to load under Tomcat? +Why do some classes fail to load under Tomcat?
- @@ -63,15 +91,61 @@ requirements & status page.
Tomcat will not load classes with package names starting "java." or "javax." from the WEB-INF directory. jars containing such classes need to be installed in $TOMCAT_HOME/common/lib rather than in WEB-INF/lib. Currently (21 Feb. 2002), axis.jar is such a jar.-What if I can't find the answer to my question here? +What if I can't find the answer to my question here?
Try the mailing lists.-How do I report bugs? +How do I report bugs?
See bugs.+How does Axis create my backend service objects? +Can I control this? +
Axis supports a "scope" parameter on services, which can be +set to "request" (make a new object to service each request - this is the +default), "session" (associate a new object with each session), and "application" +(all users share a singleton object). WARNING: If you set the scope +to "session" or "application", it is possible that multiple threads of +control may attempt to access your object's methods at the same time. It +is your responsibility to ensure that your objects are thread-safe in these +cases.+So does Axis support sessions? +
Yes. We have a session abstraction which allows an extensible +set of underlying implementations - take a look at the class org.apache.axis.session.Session +for details. In particular, we currently support sessions based on +HTTP cookies and also transport-independent sessions based on SOAP headers. +It is up to some handler on the request chain to set up an appropriate +Session implementation and attach it to the MessageContext with MessageContext.setSession() +so that anyone who wants to use session semantics can get at it.+Cool, SOAP header-based sessions? How do I +make that work? +
There is a Handler class called "org.apache.axis.handlers. +SimpleSessionHandler" which implements this functionality. You need to +include this handler in the request and response flows of both your client +and your server. Take a look at our session test (test.session.TestSimpleSession) +for an example.+What else can I do with sessions? +
Any time after the session context has been established, calling +getSession() on the current messageContext will obtain you a reference +to a Session object. You may use this object like a Hashtable to +store arbitrary data associated with this Session. For instance, +on one request you might extract the caller's name and address from a database +(an expensive operation), and then cache them in the Session object for +fast access on subsequent invocations from the same caller. This +functionality can be used either by custom Handlers or by your backend +service object itself.+How do I get access to the MessageContext in my +service object? +
Use the static MessageContext.getCurrentContext() method at +any time during a method call on your object.+Where do I put my <typeMapping>/<beanMapping> +information? +
There are two places in the WSDD where type mappings are appropriate. +At the top level, just under <deployment>, they become global +type mappings, and all services deployed in the Axis engine will be able +to use them. Alternately, you can place them inside your <service> +tag, and then the mappings will only be accessible by that particular service.- \ No newline at end of file +