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:

-
-What is Axis? What is its relationship to Apache SOAP? +
  • +So does Axis support sessions?
  • + +
  • +Cool, SOAP header-based sessions?  How do I make +that work?
  • + +
  • +What else can I do with sessions?
  • + +
  • +How do I get access to the MessageContext in my service +object?
  • + +
  • +Where do I put my <typeMapping>/<beanMapping> information?
  • + +
      + +
    What is Axis? What is its relationship to Apache +SOAP?
    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.

    (According to the README, AXIS stands for "Apache eXtensible Interaction System", which could mean almost anything.)

    -Is Axis close to a release of some kind? -
    -Yes, depending on who you ask :-) The current code base already +Is Axis close to a release of some kind? +
    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).
    +What is Axis's status overall?
    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?
    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 + --------------------------------------------------------------------- To unsubscribe, e-mail: general-cvs-unsubscribe@xml.apache.org For additional commands, e-mail: general-cvs-help@xml.apache.org