You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2005/07/04 15:02:36 UTC

svn commit: r209068 - in /webservices/axis/trunk/java/modules/core: src/org/apache/axis2/deployment/ src/org/apache/axis2/deployment/repository/util/ src/org/apache/axis2/description/ src/org/apache/axis2/transport/http/ webapp/

Author: deepal
Date: Mon Jul  4 06:02:34 2005
New Revision: 209068

URL: http://svn.apache.org/viewcvs?rev=209068&view=rev
Log:
now ?wsdl works in FierFox too  and fixed a bus when archive wile contains a wsdl with service element

Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/ArchiveReader.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis2/description/ServiceDescription.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/ListingAgent.java
    webservices/axis/trunk/java/modules/core/webapp/listService.jsp
    webservices/axis/trunk/java/modules/core/webapp/listSingleService.jsp

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java Mon Jul  4 06:02:34 2005
@@ -526,6 +526,7 @@
                 }
                 ArchiveReader archiveReader = new ArchiveReader();
                 String serviceStatus = "";
+                StringWriter errorWriter= new StringWriter();
                 switch (type) {
                     case SERVICE:
                         try {
@@ -537,15 +538,21 @@
                         } catch (DeploymentException de) {
                             log.info("Invalid service" + currentArchiveFile.getName());
                             log.info("DeploymentException  " + de);
-                            serviceStatus = "Error:\n" + de.getMessage();
+                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+                            de.printStackTrace(error_ptintWriter);
+                            serviceStatus = "Error:\n" + errorWriter.toString();
                         } catch (AxisFault axisFault) {
                             log.info("Invalid service" + currentArchiveFile.getName());
                             log.info("AxisFault  " + axisFault);
-                            serviceStatus = "Error:\n" + axisFault.getMessage();
+                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+                            axisFault.printStackTrace(error_ptintWriter);
+                            serviceStatus = "Error:\n" + errorWriter.toString();
                         } catch (Exception e) {
                             log.info("Invalid service" + currentArchiveFile.getName());
                             log.info("Exception  " + e);
-                            serviceStatus = "Error:\n" + e.getMessage();
+                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+                            e.printStackTrace(error_ptintWriter);
+                            serviceStatus = "Error:\n" + errorWriter.toString();
                         } finally {
                             if (serviceStatus.startsWith("Error:")) {
                                 axisConfig.getFaulytServices().put(getAxisServiceName(currentArchiveFile.getName()), serviceStatus);
@@ -563,11 +570,15 @@
                         } catch (DeploymentException e) {
                             log.info("Invalid module" + currentArchiveFile.getName());
                             log.info("DeploymentException  " + e);
-                            moduleStatus = "Error:\n" + e.getMessage();
+                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+                            e.printStackTrace(error_ptintWriter);
+                            moduleStatus = "Error:\n" + errorWriter.toString();
                         } catch (AxisFault axisFault) {
                             log.info("Invalid module" + currentArchiveFile.getName());
                             log.info("AxisFault  " + axisFault);
-                            moduleStatus = "Error:\n" + axisFault.getMessage();
+                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
+                            axisFault.printStackTrace(error_ptintWriter);
+                            moduleStatus = "Error:\n" + errorWriter.toString();
                         } finally {
                             if (moduleStatus.startsWith("Error:")) {
                                 axisConfig.getFaulytModules().put(getAxisServiceName(currentArchiveFile.getName()), moduleStatus);

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/ArchiveReader.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/ArchiveReader.java?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/ArchiveReader.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/ArchiveReader.java Mon Jul  4 06:02:34 2005
@@ -25,6 +25,7 @@
 import org.apache.axis2.description.ServiceDescription;
 import org.apache.axis2.wsdl.WSDLVersionWrapper;
 import org.apache.axis2.wsdl.builder.WOMBuilderFactory;
+import org.apache.axis2.wsdl.builder.WOMBuilder;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.wsdl.WSDLDescription;
@@ -80,12 +81,13 @@
         boolean foundservice = false;
         try {
             if(in!= null){
-                WSDLVersionWrapper wsdlVersionWrapper = WOMBuilderFactory.getBuilder(WOMBuilderFactory.WSDL11).build(in, new AxisDescWSDLComponentFactory());
+                WOMBuilder builder = WOMBuilderFactory.getBuilder(WOMBuilderFactory.WSDL11);
+                WSDLVersionWrapper wsdlVersionWrapper = builder.build(in, new AxisDescWSDLComponentFactory());
                 WSDLDescription  womDescription = wsdlVersionWrapper.getDescription();
                 Iterator iterator = womDescription.getServices().keySet().iterator();
                 if(iterator.hasNext()){
                     foundservice = true;
-                    service = (ServiceDescription)iterator.next();
+                    service = (ServiceDescription)womDescription.getServices().get(iterator.next());
                 }
                 if(!foundservice){
                     service = new ServiceDescription();

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis2/description/ServiceDescription.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis2/description/ServiceDescription.java?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis2/description/ServiceDescription.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis2/description/ServiceDescription.java Mon Jul  4 06:02:34 2005
@@ -548,7 +548,12 @@
         try {
             Definition wsdlDefinition = this.getWSDLDefinition();
             if(wsdlDefinition !=null){
-                wsdlDefinition.removeService(this.getName());
+                Iterator sreviceitr =  wsdlDefinition.getServices().keySet().iterator();
+                while (sreviceitr.hasNext()) {
+                     wsdlDefinition.removeService((QName)sreviceitr.next());
+                }
+
+              //  wsdlDefinition.removeService(this.getName());
 
                 Service service = wsdlDefinition.createService();
                 service.setQName(this.getName());

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java Mon Jul  4 06:02:34 2005
@@ -31,6 +31,7 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.namespace.QName;
 import java.io.IOException;
+import java.io.OutputStream;
 import java.util.Enumeration;
 import java.util.HashMap;
 
@@ -74,20 +75,20 @@
      * @throws IOException
      */
     protected void doGet(
-        HttpServletRequest httpServletRequest,
-        HttpServletResponse httpServletResponse)
-        throws ServletException, IOException {
-            httpServletResponse.setContentType("text/xml; charset=utf-8");
-            MessageContext msgContext  = null;
+            HttpServletRequest httpServletRequest,
+            HttpServletResponse httpServletResponse)
+            throws ServletException, IOException {
+        httpServletResponse.setContentType("text/xml; charset=utf-8");
+        MessageContext msgContext  = null;
+        OutputStream out =null;
         try {
-
             Object sessionContext =
-                httpServletRequest.getSession().getAttribute(Constants.SESSION_CONTEXT_PROPERTY);
+                    httpServletRequest.getSession().getAttribute(Constants.SESSION_CONTEXT_PROPERTY);
             if (sessionContext == null) {
                 sessionContext = new SessionContext(null);
                 httpServletRequest.getSession().setAttribute(
-                    Constants.SESSION_CONTEXT_PROPERTY,
-                    sessionContext);
+                        Constants.SESSION_CONTEXT_PROPERTY,
+                        sessionContext);
             }
 
             Enumeration enu = httpServletRequest.getParameterNames();
@@ -99,34 +100,34 @@
             }
 
             msgContext =
-                new MessageContext(
-                    configContext,
-                    (SessionContext) sessionContext,
-                    configContext.getAxisConfiguration().getTransportIn(
-                        new QName(Constants.TRANSPORT_HTTP)),
-                    configContext.getAxisConfiguration().getTransportOut(
-                        new QName(Constants.TRANSPORT_HTTP)));
-                    msgContext.setDoingREST(true);
+                    new MessageContext(
+                            configContext,
+                            (SessionContext) sessionContext,
+                            configContext.getAxisConfiguration().getTransportIn(
+                                    new QName(Constants.TRANSPORT_HTTP)),
+                            configContext.getAxisConfiguration().getTransportOut(
+                                    new QName(Constants.TRANSPORT_HTTP)));
+            msgContext.setDoingREST(true);
             msgContext.setServerSide(true);
             msgContext.setProperty(HTTPConstants.HTTPOutTransportInfo,new ServletBasedOutTransportInfo(httpServletResponse));
-
+            out = httpServletResponse.getOutputStream();
             boolean processed =
-                HTTPTransportUtils.processHTTPGetRequest(
-                    msgContext,
-                    httpServletRequest.getInputStream(),
-                    httpServletResponse.getOutputStream(),
-                    httpServletRequest.getContentType(),
-                    httpServletRequest.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
-                    httpServletRequest.getRequestURL().toString(),
-                    configContext,
-                    map);
+                    HTTPTransportUtils.processHTTPGetRequest(
+                            msgContext,
+                            httpServletRequest.getInputStream(),
+                            out,
+                            httpServletRequest.getContentType(),
+                            httpServletRequest.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
+                            httpServletRequest.getRequestURL().toString(),
+                            configContext,
+                            map);
             if (!processed) {
-                lister.handle(httpServletRequest, httpServletResponse);
+                lister.handle(httpServletRequest, httpServletResponse,out);
             }
         } catch (Exception e) {
             AxisEngine engine = new AxisEngine(configContext);
             if(msgContext!= null){
-                msgContext.setProperty(MessageContext.TRANSPORT_OUT, httpServletResponse.getOutputStream());
+                msgContext.setProperty(MessageContext.TRANSPORT_OUT, out);
                 engine.handleFault(msgContext,e);            
             }
         }
@@ -147,33 +148,33 @@
      * @throws IOException
      */
     protected void doPost(HttpServletRequest req, HttpServletResponse res)
-        throws ServletException, IOException {
-            MessageContext msgContext = null;
+            throws ServletException, IOException {
+        MessageContext msgContext = null;
         try {
             Object sessionContext =
-                req.getSession().getAttribute(Constants.SESSION_CONTEXT_PROPERTY);
+                    req.getSession().getAttribute(Constants.SESSION_CONTEXT_PROPERTY);
             if (sessionContext == null) {
                 sessionContext = new SessionContext(null);
                 req.getSession().setAttribute(Constants.SESSION_CONTEXT_PROPERTY, sessionContext);
             }
             msgContext =
-                new MessageContext(
-                    configContext,
-                    (SessionContext) sessionContext,
-                    configContext.getAxisConfiguration().getTransportIn(
-                        new QName(Constants.TRANSPORT_HTTP)),
-                    configContext.getAxisConfiguration().getTransportOut(
-                        new QName(Constants.TRANSPORT_HTTP)));
+                    new MessageContext(
+                            configContext,
+                            (SessionContext) sessionContext,
+                            configContext.getAxisConfiguration().getTransportIn(
+                                    new QName(Constants.TRANSPORT_HTTP)),
+                            configContext.getAxisConfiguration().getTransportOut(
+                                    new QName(Constants.TRANSPORT_HTTP)));
             msgContext.setProperty(HTTPConstants.HTTPOutTransportInfo,new ServletBasedOutTransportInfo(res));
             res.setContentType("text/xml; charset=utf-8");
             HTTPTransportUtils.processHTTPPostRequest(
-                msgContext,
-                req.getInputStream(),
-                res.getOutputStream(),
-                req.getContentType(),
-                req.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
-                req.getRequestURL().toString(),
-                configContext);
+                    msgContext,
+                    req.getInputStream(),
+                    res.getOutputStream(),
+                    req.getContentType(),
+                    req.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
+                    req.getRequestURL().toString(),
+                    configContext);
             Object contextWritten = msgContext.getOperationContext().getProperty(Constants.RESPONSE_WRITTEN);
             if (contextWritten == null || !Constants.VALUE_TRUE.equals(contextWritten)) {
                 res.setStatus(HttpServletResponse.SC_ACCEPTED);

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/ListingAgent.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/ListingAgent.java?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/ListingAgent.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/ListingAgent.java Mon Jul  4 06:02:34 2005
@@ -30,6 +30,8 @@
 import javax.xml.namespace.QName;
 import java.io.IOException;
 import java.io.StringWriter;
+import java.io.OutputStream;
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -80,11 +82,13 @@
      * Field allowListSingleService
      */
     private final boolean allowListSingleService = true;
+    private OutputStream out = null;
 
     public void handle(
             HttpServletRequest httpServletRequest,
-            HttpServletResponse httpServletResponse)
+            HttpServletResponse httpServletResponse,OutputStream out)
             throws IOException {
+        this.out = out;
         String filePart = httpServletRequest.getRequestURL().toString();
         if ((filePart != null) && filePart.endsWith(Constants.ADMIN_LISTSERVICES)) {
             listAdminServices(httpServletRequest, httpServletResponse);
@@ -376,14 +380,23 @@
             Object serviceObj = services.get(new QName(serviceName));
             if (serviceObj != null) {
                 if(wsdl != null){
-                    StringWriter writer = new StringWriter();
-                    ((ServiceDescription)serviceObj).printWSDL(writer,filePart);
-                    String wsdl_value = writer.toString().trim() ;
-                    if(wsdl_value == null || wsdl_value.trim().equals("")){
-                        wsdl_value = "WSDL is not available!!!";
-                    } 
+                    // StringWriter writer = new StringWriter();
                     res.setContentType("xml");
-                    req.getSession().setAttribute(Constants.WSDL_CONTENT, wsdl_value);
+                    PrintWriter out_writer = new PrintWriter(out);
+                    ((ServiceDescription)serviceObj).printWSDL(out_writer,filePart);
+                    //  String wsdl_value = writer.toString().trim() ;
+                    //  if(wsdl_value == null || wsdl_value.trim().equals("")){
+                    //      wsdl_value = "WSDL is not available!!!";
+                    // }
+                    
+                    // req.getSession().setAttribute(Constants.WSDL_CONTENT, wsdl_value);
+                    // PrintWriter out_writer = new PrintWriter(out);
+                    //  System.out.println("wsdl_value = " + wsdl_value);
+                    //  out_writer.write(wsdl_value);
+                    out.flush();
+                    out.close();
+                    wsdl = null;
+                    return;
                 }   else {
                     req.getSession().setAttribute(Constants.SINGLE_SERVICE, serviceObj);
                 }

Modified: webservices/axis/trunk/java/modules/core/webapp/listService.jsp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/webapp/listService.jsp?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/webapp/listService.jsp (original)
+++ webservices/axis/trunk/java/modules/core/webapp/listService.jsp Mon Jul  4 06:02:34 2005
@@ -29,7 +29,7 @@
  * Date: May 26, 2005
  * Time: 7:14:26 PM
  */
-        %>
+%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html>
   <head><title>List Services</title>

Modified: webservices/axis/trunk/java/modules/core/webapp/listSingleService.jsp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/webapp/listSingleService.jsp?rev=209068&r1=209067&r2=209068&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/webapp/listSingleService.jsp (original)
+++ webservices/axis/trunk/java/modules/core/webapp/listSingleService.jsp Mon Jul  4 06:02:34 2005
@@ -8,39 +8,31 @@
                  javax.xml.namespace.QName,
                  java.io.StringWriter,
                  java.io.PrintWriter"%>
-<%@ page contentType="text/xml;charset=UTF-8" language="java" %>
-<%
-String wsdl_value = (String)request.getSession().getAttribute(Constants.WSDL_CONTENT);
-String isFault = (String)request.getSession().getAttribute(Constants.IS_FAULTY);
-if(wsdl_value!=null){%>
-<%=wsdl_value.trim()%>
-                <%
-            } else if(Constants.IS_FAULTY.equals(isFault)){
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+  <head><title>List Services</title>
+  <link href="css/axis-style.css" rel="stylesheet" type="text/css">
+  </head>
+  <body>
+        <%
+            String isFault = (String)request.getSession().getAttribute(Constants.IS_FAULTY);
+            if(Constants.IS_FAULTY.equals(isFault)){
                 Hashtable errornessservices =(Hashtable)request.getSession().getAttribute(Constants.ERROR_SERVICE_MAP);
                 String servicName = (String)request.getParameter("serviceName");
-                %> <html>
-                        <head>
-                        <title>Single Service List</title>
-                        <link href="css/axis-style.css" rel="stylesheet" type="text/css">
-                    </head>
-                    <body>
+                %>
                     <h3>This Web service has deployment faults</h3><%
                      %><font color="red" ><%=(String)errornessservices.get(servicName) %></font>
-                 </body>
-            </html>
                 <%
 
                     }else{
-                %><html>
-                    <head>
-                        <title>Single Service List</title>
-                        <link href="css/axis-style.css" rel="stylesheet" type="text/css">
-                    </head>
-                <body>
+                %>
              Oh! this place seems to be empty!!!</body>
-</html> <%
+ <%
             }
         %>
+
+        </body>
+</html>
 
 
 <%--        <jsp:include page="include/link-footer.inc"></jsp:include>--%>