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 ch...@apache.org on 2007/06/12 23:49:22 UTC
svn commit: r546640 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
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: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org