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 2006/10/17 06:23:52 UTC
svn commit: r464798 -
/webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java
Author: chinthaka
Date: Mon Oct 16 21:23:50 2006
New Revision: 464798
URL: http://svn.apache.org/viewvc?view=rev&rev=464798
Log:
A quick fix to https://issues.apache.org/jira/browse/AXIS2-1410.
Modified:
webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java
Modified: webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java?view=diff&rev=464798&r1=464797&r2=464798
==============================================================================
--- webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java (original)
+++ webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java Mon Oct 16 21:23:50 2006
@@ -43,7 +43,7 @@
import java.io.IOException;
/**
- *
+ *
*/
public class RESTUtil {
protected ConfigurationContext configurationContext;
@@ -97,7 +97,7 @@
msgContext.setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD, org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD_POST);
msgContext.setProperty(org.apache.axis2.transport.http.HTTPConstants.CONTENT_TYPE, contentType);
msgContext.setDoingREST(true);
- msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
+ msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
invokeAxisEngine(msgContext);
@@ -115,6 +115,12 @@
// here, only the parameters in the URI are supported. Others will be discarded.
try {
+ // set the required properties so that even if there is an error during the dispatch
+ // phase the response message will be passed to the client well.
+ msgContext.setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD, org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD_GET);
+ msgContext.setDoingREST(true);
+ msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
+
// 1. First dispatchAndVerify and find out the service and the operation.
dispatchAndVerify(msgContext);
@@ -133,14 +139,11 @@
xmlSchemaElement,
OMAbstractFactory.getSOAP11Factory());
msgContext.setEnvelope(soapEnvelope);
- msgContext.setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD, org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD_GET);
- msgContext.setDoingREST(true);
- msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
invokeAxisEngine(msgContext);
} catch (IOException e) {
- throw new AxisFault(e);
+ throw new AxisFault(e);
}
return true;
}
@@ -181,8 +184,8 @@
// If charset is not specified
XMLStreamReader xmlreader;
if (TransportUtils.getCharSetEncoding(contentType) == null) {
- xmlreader = StAXUtils.createXMLStreamReader(inputStream, MessageContext.DEFAULT_CHAR_SET_ENCODING);
-
+ xmlreader = StAXUtils.createXMLStreamReader(inputStream, MessageContext.DEFAULT_CHAR_SET_ENCODING);
+
// Set the encoding scheme in the message context
msgCtxt.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING,
MessageContext.DEFAULT_CHAR_SET_ENCODING);
@@ -198,15 +201,16 @@
msgCtxt.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, charSetEnc);
}
- OMNodeEx documentElement = (OMNodeEx)new StAXOMBuilder(xmlreader).getDocumentElement();
+ OMNodeEx documentElement = (OMNodeEx) new StAXOMBuilder(xmlreader).getDocumentElement();
documentElement.setParent(null);
body.addChild(documentElement);
// if the media type is multipart/related, get help from Axis2 :)
- } else if (checkContentType(org.apache.axis2.transport.http.HTTPConstants.MEDIA_TYPE_MULTIPART_RELATED, contentType)) {
+ } else
+ if (checkContentType(org.apache.axis2.transport.http.HTTPConstants.MEDIA_TYPE_MULTIPART_RELATED, contentType)) {
body.addChild(TransportUtils.selectBuilderForMIME(msgCtxt,
inputStream,
- contentType,false).getDocumentElement());
+ contentType, false).getDocumentElement());
}
return soapEnvelope;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org