Author: amilas
Date: Fri Apr 23 10:34:41 2010
New Revision: 937237

URL: http://svn.apache.org/viewvc?rev=937237&view=rev
Log:
apply the patch for AXIS2-4642

Modified:
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisService.java
    
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisService.java?rev=937237&r1=937236&r2=937237&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisService.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisService.java
 Fri Apr 23 10:34:41 2010
@@ -922,6 +922,12 @@ public class AxisService extends AxisDes
                httpLocationDispatcherMap.put(string, axisOperation);
        }
 
+       /**
+        * Prints the schema to the given output stream.
+        * @param out The output stream for the data to be written. NOTE: the 
stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @throws AxisFault
+        */
        public void printSchema(OutputStream out) throws AxisFault {
                for (int i = 0; i < schemaList.size(); i++) {
                        XmlSchema schema = addNameSpaces(i);
@@ -1052,6 +1058,15 @@ public class AxisService extends AxisDes
                return eprs;
        }
 
+       /**
+        * Prints the given definition object.
+        * @param definition The definition.
+        * @param out The output stream the data to be written to. NOTE: the 
stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @param requestIP The host IP address.
+        * @throws AxisFault
+        * @throws WSDLException
+        */
        private void printDefinitionObject(Definition definition, OutputStream 
out,
                        String requestIP) throws AxisFault, WSDLException {
                if (isModifyUserWSDLPortAddress()) {
@@ -1070,6 +1085,14 @@ public class AxisService extends AxisDes
                        printUserWSDL(out, wsdlName, null);
        }
 
+       /**
+        * Prints the user WSDL.
+        * @param out The output stream for the data to be written. NOTE: the 
stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @param wsdlName The name of the WSDL.
+        * @param ip The host IP address.
+        * @throws AxisFault
+        */
        public void printUserWSDL(OutputStream out, String wsdlName, String ip)
                        throws AxisFault {
                Definition definition = null;
@@ -1255,7 +1278,8 @@ public class AxisService extends AxisDes
         * OutputStream.
         * 
         * @param out
-        *            destination stream.
+        *            destination stream, NOTE: the stream is not closed after 
the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
         * @param xsd
         *            schema name
         * @return -1 implies not found, 0 implies redirect to root, 1 implies
@@ -1272,7 +1296,6 @@ public class AxisService extends AxisDes
                            updateSchemaLocation(schema);
                                schema.write(new OutputStreamWriter(out, 
"UTF8"));
                                out.flush();
-                               out.close();
                                return 1;
                        }
                }
@@ -1296,7 +1319,6 @@ public class AxisService extends AxisDes
                                // schema is there - pump it outs
                                schema.write(new OutputStreamWriter(out, 
"UTF8"));
                                out.flush();
-                               out.close();
                        } else {
                             // make sure we are only serving .xsd files and 
ignore requests with
                             // ".." in the name.
@@ -1328,7 +1350,6 @@ public class AxisService extends AxisDes
                                if (schema != null) {
                                        schema.write(new 
OutputStreamWriter(out, "UTF8"));
                                        out.flush();
-                                       out.close();
                                }
                        } else {
                                String xsdNotFound = "<error>"
@@ -1336,7 +1357,6 @@ public class AxisService extends AxisDes
                                                + "</error>";
                                out.write(xsdNotFound.getBytes());
                                out.flush();
-                               out.close();
                        }
                }
                return 1;
@@ -1347,7 +1367,8 @@ public class AxisService extends AxisDes
         * OutputStream.
         * 
         * @param out
-        *            destination stream. The WSDL will be sent here.
+        *            destination stream. The WSDL will be sent here. NOTE: the 
stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
         * @param requestIP
         *            the hostname the WSDL request was directed at. This 
should be
         *            the address that appears in the generated WSDL.
@@ -1408,7 +1429,8 @@ public class AxisService extends AxisDes
         * Print the WSDL with a default URL. This will be called only during
         * codegen time.
         * 
-        * @param out
+        * @param out The output stream for the data to be written. NOTE: the 
stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
         * @throws AxisFault
         */
        public void printWSDL(OutputStream out) throws AxisFault {
@@ -1597,6 +1619,12 @@ public class AxisService extends AxisDes
                }
        }
 
+       /**
+        * Retrieves the WSDL data associated with the given serviceURL.
+        * @param out The output stream for the WSDL data to be written, NOTE: 
the stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @param serviceURL The fist element of this array i.e. serviceURL[0] 
is taken in retrieving the target service.
+        */
        private void getWSDL(OutputStream out, String[] serviceURL)
                        throws AxisFault {
                // Retrieve WSDL using the same data retrieval path for 
GetMetadata
@@ -1616,17 +1644,29 @@ public class AxisService extends AxisDes
                        try {
                                XMLPrettyPrinter.prettify(wsdlElement, out);
                                out.flush();
-                               out.close();
                        } catch (Exception e) {
                                throw AxisFault.makeFault(e);
                        }
                }
        }
 
+       /**
+        * Prints generic WSDL error to the given output stream.
+        * @param out The output stream the data to be written to. NOTE: the 
stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @throws AxisFault
+        */
        private void printWSDLError(OutputStream out) throws AxisFault {
                printWSDLError(out, null);
        }
 
+       /**
+        * Prints WSDL error condition that is given in the exception.
+        * @param out The output stream for the error message to be written. 
NOTE: the stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @param e The exception describing the error condition.
+        * @throws AxisFault
+        */
        private void printWSDLError(OutputStream out, Exception e) throws 
AxisFault {
                try {
                        String wsdlntfound = "<error>"
@@ -1641,7 +1681,6 @@ public class AxisService extends AxisDes
                        }
                        out.write("</error>".getBytes());
                        out.flush();
-                       out.close();
                } catch (IOException ex) {
                        throw AxisFault.makeFault(ex);
                }
@@ -1651,13 +1690,21 @@ public class AxisService extends AxisDes
         * Print the WSDL2.0 with a default URL. This will be called only during
         * codegen time.
         * 
-        * @param out
+        * @param out The output stream for the data to be written for. NOTE: 
the stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
         * @throws AxisFault
         */
        public void printWSDL2(OutputStream out) throws AxisFault {
                printWSDL2(out, null);
        }
 
+       /**
+        * Prints WSDL2.0 data for the service with the given host IP address.
+        * @param out The output stream for the data to be written for. NOTE: 
the stream is not closed after the operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
+        * @param requestIP The host IP address.
+        * @throws AxisFault
+        */
        public void printWSDL2(OutputStream out, String requestIP) throws 
AxisFault {
                AxisService2WSDL20 axisService2WSDL2 = new 
AxisService2WSDL20(this);
                try {
@@ -1667,7 +1714,6 @@ public class AxisService extends AxisDes
                        OMElement wsdlElement = axisService2WSDL2.generateOM();
                        wsdlElement.serialize(out);
                        out.flush();
-                       out.close();
                } catch (Exception e) {
                        throw AxisFault.makeFault(e);
                }
@@ -1678,7 +1724,8 @@ public class AxisService extends AxisDes
      * OutputStream.
      * 
      * @param out
-     *            destination stream.
+     *            destination stream. NOTE: the stream is not closed after the 
operation, 
+        *            it is the responsibility of the caller to close the 
stream after usage.
      * @param wsdl
      *            wsdl name
      * @return -1 implies not found, 0 implies redirect to root, 1 implies

Modified: 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java?rev=937237&r1=937236&r2=937237&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java
 Fri Apr 23 10:34:41 2010
@@ -195,12 +195,8 @@ public class ListingAgent extends Abstra
 
                     if (wsdlName != null && wsdlName.length()>0) {
                         axisService.printUserWSDL(out, wsdlName, ip);
-                        out.flush();
-                        out.close();
                     } else {
                         axisService.printWSDL(out, ip);
-                        out.flush();
-                        out.close();
                     }
                     return;
                 } else if (xsd >= 0) {


Reply via email to