You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ke...@apache.org on 2008/03/27 09:50:09 UTC
svn commit: r641744 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/builder/XFormURLEncodedBuilder.java
Author: keithc
Date: Thu Mar 27 01:50:08 2008
New Revision: 641744
URL: http://svn.apache.org/viewvc?rev=641744&view=rev
Log:
Fixing AXIS2-3405. As specified in http://www.w3.org/TR/xforms/#serialize-urlencode we should be breaking the parameters b4 decoding
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/builder/XFormURLEncodedBuilder.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/builder/XFormURLEncodedBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/builder/XFormURLEncodedBuilder.java?rev=641744&r1=641743&r2=641744&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/builder/XFormURLEncodedBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/builder/XFormURLEncodedBuilder.java Thu Mar 27 01:50:08 2008
@@ -94,12 +94,7 @@
throw new AxisFault("Cannot create DocumentElement without destination EPR");
}
- String requestURL = null;
- try {
- requestURL = URIEncoderDecoder.decode(endpointReference.getAddress());
- } catch (UnsupportedEncodingException e) {
- throw AxisFault.makeFault(e);
- }
+ String requestURL = endpointReference.getAddress();
try {
requestURL = extractParametersUsingHttpLocation(templatedPath, parameterMap,
requestURL,
@@ -137,9 +132,16 @@
for (int i = 0; i < parts.length; i++) {
int separator = parts[i].indexOf("=");
if (separator > 0) {
+ String value = parts[i].substring(separator + 1);
+ try {
+ value = URIEncoderDecoder.decode(value);
+ } catch (UnsupportedEncodingException e) {
+ throw AxisFault.makeFault(e);
+ }
+
parameterMap
.put(parts[i].substring(0, separator),
- parts[i].substring(separator + 1));
+ value);
}
}
@@ -314,7 +316,12 @@
private void addParameterToMap(MultipleEntryHashMap parameterMap, String paramName,
String paramValue)
- throws UnsupportedEncodingException {
+ throws UnsupportedEncodingException, AxisFault {
+ try {
+ paramValue = URIEncoderDecoder.decode(paramValue);
+ } catch (UnsupportedEncodingException e) {
+ throw AxisFault.makeFault(e);
+ }
if (paramName.startsWith(WSDL2Constants.TEMPLATE_ENCODE_ESCAPING_CHARACTER)) {
parameterMap.put(paramName.substring(1), paramValue);
} else {
@@ -335,5 +342,4 @@
throw new AxisFault(Messages.getMessage("invalidSOAPversion"));
}
}
-}
-
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org