duftler     01/06/25 13:53:50

  Modified:    java/src/org/apache/soap/server/http ServerHTTPUtils.java
  Log:
  The code will now only store the target object in the ServletContext or
  HTTPSession when it is newly created, and will not store it on each
  invocation. Thanks to [EMAIL PROTECTED] for identifying this problem. See
  http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2312 for the details.
  
  Revision  Changes    Path
  1.20      +10 -9     
xml-soap/java/src/org/apache/soap/server/http/ServerHTTPUtils.java
  
  Index: ServerHTTPUtils.java
  ===================================================================
  RCS file: 
/home/cvs/xml-soap/java/src/org/apache/soap/server/http/ServerHTTPUtils.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- ServerHTTPUtils.java      2001/05/02 13:34:14     1.19
  +++ ServerHTTPUtils.java      2001/06/25 20:53:47     1.20
  @@ -279,6 +279,16 @@
                 targetObject = c.newInstance ();
               }
               freshObject = true;
  +
  +            // remember the created instance if the scope is not REQUEST;
  +            // in that case the object is to be thrown away after handling
  +            // the request
  +            if (scopeLock == session) {
  +              session.putValue (targetID, targetObject);
  +              // session.setAttribute (targetID, targetObject);
  +            } else if (scopeLock == context) {
  +              context.setAttribute (targetID, targetObject);
  +            }
             } catch (Exception e) {
               String msg;
               if (providerType == DeploymentDescriptor.PROVIDER_JAVA ||
  @@ -291,15 +301,6 @@
               throw new SOAPException (
                 Constants.FAULT_CODE_SERVER_BAD_TARGET_OBJECT_URI, msg, e);
             }
  -        }
  -        // remember the created instance if the scope is not REQUEST;
  -        // in that case the object is to be thrown away after handling
  -        // the request
  -        if (scopeLock == session) {
  -          session.putValue (targetID, targetObject);
  -          // session.setAttribute (targetID, targetObject);
  -        } else if (scopeLock == context) {
  -          context.setAttribute (targetID, targetObject);
           }
         }
       }
  
  
  

Reply via email to