Author: chinthaka
Date: Tue Jun 12 14:49:21 2007
New Revision: 546640

URL: http://svn.apache.org/viewvc?view=rev&rev=546640
Log:
Fixing https://issues.apache.org/jira/browse/AXIS2-2797. I mentioned that this 
was not working at all yesterday, during the hackathon. But it seems this was 
implemented long time ago (was it me?). The only problem was with the way this 
checking was done, so I just fixed it.

Modified:
    
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java

Modified: 
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java?view=diff&rev=546640&r1=546639&r2=546640
==============================================================================
--- 
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
 (original)
+++ 
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
 Tue Jun 12 14:49:21 2007
@@ -20,16 +20,24 @@
 import edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.impl.builder.StAXBuilder;
-import org.apache.axiom.om.util.UUIDGenerator;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingHelper;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.context.*;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.context.SessionContext;
 import org.apache.axis2.deployment.WarBasedAxisConfigurator;
-import org.apache.axis2.description.*;
+import org.apache.axis2.description.AxisBindingMessage;
+import org.apache.axis2.description.AxisBindingOperation;
+import org.apache.axis2.description.Parameter;
+import org.apache.axis2.description.TransportInDescription;
+import org.apache.axis2.description.TransportOutDescription;
+import org.apache.axis2.description.WSDL2Constants;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.engine.Handler.InvocationResponse;
@@ -49,7 +57,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.namespace.QName;
-import java.io.*;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
 import java.net.SocketException;
 import java.util.Map;
 
@@ -101,17 +113,17 @@
                 // adding ServletContext into msgContext;
                 InvocationResponse pi = HTTPTransportUtils.
                         processHTTPPostRequest(msgContext,
-                                               new 
BufferedInputStream(request.getInputStream()),
-                                               new BufferedOutputStream(out),
-                                               contentType,
-                                               
request.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
-                                               
request.getRequestURL().toString());
+                                new 
BufferedInputStream(request.getInputStream()),
+                                new BufferedOutputStream(out),
+                                contentType,
+                                
request.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
+                                request.getRequestURL().toString());
 
                 Boolean holdResponse =
                         (Boolean) 
msgContext.getProperty(RequestResponseTransport.HOLD_RESPONSE);
 
                 if (pi.equals(InvocationResponse.SUSPEND) ||
-                    (holdResponse != null && 
Boolean.TRUE.equals(holdResponse))) {
+                        (holdResponse != null && 
Boolean.TRUE.equals(holdResponse))) {
                     ((RequestResponseTransport) msgContext
                             
.getProperty(RequestResponseTransport.TRANSPORT_CONTROL))
                             .awaitResponse();
@@ -125,7 +137,7 @@
                 }
 
                 response.setContentType("text/xml; charset="
-                                        + msgContext
+                        + msgContext
                         
.getProperty(Constants.Configuration.CHARACTER_SET_ENCODING));
 
                 if ((contextWritten == null) || 
!Constants.VALUE_TRUE.equals(contextWritten)) {
@@ -202,15 +214,15 @@
         // 2. list services requests
         // 3. REST requests.
         if ((query != null) && (query.indexOf("wsdl2") >= 0 ||
-                                query.indexOf("wsdl") >= 0 || 
query.indexOf("xsd") >= 0 ||
-                                query.indexOf("policy") >= 0)) {
+                query.indexOf("wsdl") >= 0 || query.indexOf("xsd") >= 0 ||
+                query.indexOf("policy") >= 0)) {
             // handling meta data exchange stuff
             agent.processListService(request, response);
         } else if (requestURI.endsWith(".xsd") ||
-                   requestURI.endsWith(".wsdl")) {
+                requestURI.endsWith(".wsdl")) {
             agent.processExplicitSchemaAndWSDL(request, response);
         } else if (requestURI.endsWith(LIST_SERVICES_SUFIX) ||
-                   requestURI.endsWith(LIST_FAUKT_SERVICES_SUFIX)) {
+                requestURI.endsWith(LIST_FAUKT_SERVICES_SUFIX)) {
             // handling list services request
             try {
                 agent.handle(request, response);
@@ -277,7 +289,7 @@
     protected void showRestDisabledErrorMessage(HttpServletResponse response) 
throws IOException {
         PrintWriter writer = new PrintWriter(response.getOutputStream());
         writer.println("<html><body><h2>Please enable REST support in 
WEB-INF/conf/axis2.xml " +
-                       "and WEB-INF/web.xml</h2></body></html>");
+                "and WEB-INF/web.xml</h2></body></html>");
         writer.flush();
         response.setStatus(HttpServletResponse.SC_ACCEPTED);
     }
@@ -363,6 +375,7 @@
 
             //TODO : Check for SOAP 1.2!
             SOAPFaultCode code = 
faultContext.getEnvelope().getBody().getFault().getCode();
+
             OMElement valueElement = null;
             if (code != null) {
                 valueElement = code.getFirstChildWithName(new QName(
@@ -371,15 +384,15 @@
             }
 
             if (valueElement != null) {
-                if 
(valueElement.getText().trim().indexOf(SOAP12Constants.FAULT_CODE_SENDER) >
-                    -1 && !msgContext.isDoingREST()) {
+                if 
(SOAP12Constants.FAULT_CODE_SENDER.equals(valueElement.getTextAsQName().getLocalPart())
+                        && !msgContext.isDoingREST()) {
                     response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
                 }
             }
         }
 
 
-        engine.sendFault(faultContext);
+        AxisEngine.sendFault(faultContext);
     }
 
     /**
@@ -533,9 +546,9 @@
             }
         }
 
-        String endpointRefernce = "http://"; + ip + ":" + port ;
-        if(configContext.getServiceContextPath().startsWith("/")){
-            endpointRefernce =  endpointRefernce +
+        String endpointRefernce = "http://"; + ip + ":" + port;
+        if (configContext.getServiceContextPath().startsWith("/")) {
+            endpointRefernce = endpointRefernce +
                     configContext.getServiceContextPath() + "/" + serviceName;
         } else {
             endpointRefernce = endpointRefernce + '/' +
@@ -606,7 +619,7 @@
         msgContext.setFrom(new EndpointReference(request.getRemoteAddr()));
         msgContext.setProperty(MessageContext.REMOTE_ADDR, 
request.getRemoteAddr());
         msgContext.setProperty(Constants.OUT_TRANSPORT_INFO,
-                               new ServletBasedOutTransportInfo(response));
+                new ServletBasedOutTransportInfo(response));
         // set the transport Headers
         msgContext.setProperty(MessageContext.TRANSPORT_HEADERS, 
getTransportHeaders(request));
         msgContext.setProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST, request);
@@ -614,7 +627,7 @@
 
         //setting the RequestResponseTransport object
         msgContext.setProperty(RequestResponseTransport.TRANSPORT_CONTROL,
-                               new ServletRequestResponseTransport(response));
+                new ServletRequestResponseTransport(response));
 
         return msgContext;
     }
@@ -650,7 +663,7 @@
             sessionContext = new SessionContext(null);
             sessionContext.setCookieID(sessionId);
             req.getSession().setAttribute(Constants.SESSION_CONTEXT_PROPERTY,
-                                          sessionContext);
+                    sessionContext);
         }
         messageContext.setSessionContext(sessionContext);
         messageContext.setProperty(SESSION_ID, sessionId);
@@ -670,7 +683,7 @@
         public void acknowledgeMessage(MessageContext msgContext) throws 
AxisFault {
             log.debug("Acking one-way request");
             response.setContentType("text/xml; charset="
-                                    + msgContext
+                    + msgContext
                     
.getProperty(Constants.Configuration.CHARACTER_SET_ENCODING));
 
             response.setStatus(HttpServletResponse.SC_ACCEPTED);
@@ -718,7 +731,7 @@
             if (stateInt == HttpServletResponse.SC_UNAUTHORIZED) { // 
Unauthorized
                 String realm = (String) 
messageContext.getProperty(Constants.HTTP_BASIC_AUTH_REALM);
                 response.addHeader("WWW-Authenticate",
-                                   "basic realm=\"" + realm + "\"");
+                        "basic realm=\"" + realm + "\"");
             }
         }
     }
@@ -739,13 +752,13 @@
             this.response = response;
             messageContext = createMessageContext(this.request, this.response, 
false);
             
messageContext.setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD,
-                                       httpMethodString);
+                    httpMethodString);
         }
 
         public void processXMLRequest() throws IOException, ServletException {
             try {
                 RESTUtil.processXMLRequest(messageContext, 
request.getInputStream(),
-                                           response.getOutputStream(), 
request.getContentType());
+                        response.getOutputStream(), request.getContentType());
                 this.checkResponseWritten();
             } catch (AxisFault axisFault) {
                 processFault(axisFault);
@@ -756,7 +769,7 @@
         public void processURLRequest() throws IOException, ServletException {
             try {
                 RESTUtil.processURLRequest(messageContext, 
response.getOutputStream(),
-                                           request.getContentType());
+                        request.getContentType());
                 this.checkResponseWritten();
             } catch (AxisFault e) {
                 setResponseState(messageContext, response);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to