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 ve...@apache.org on 2009/01/10 19:02:36 UTC
svn commit: r733306 - in
/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj:
SOAPMessageImpl.java SOAPPartImpl.java util/SAAJUtil.java
Author: veithen
Date: Sat Jan 10 10:02:36 2009
New Revision: 733306
URL: http://svn.apache.org/viewvc?rev=733306&view=rev
Log:
Eliminated some duplicate code and take into account that content types are case insensitive.
Modified:
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java?rev=733306&r1=733305&r2=733306&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java Sat Jan 10 10:02:36 2009
@@ -91,13 +91,7 @@
String contentTypes[] = mimeHeaders.getHeader(HTTPConstants.CONTENT_TYPE);
if (contentTypes != null && contentTypes.length > 0) {
tmpContentType = contentTypes[0];
- //tmpContentType can be like 'application/soap+xml; charset=UTF-8;'
- //Only the first part is important
- if (tmpContentType.indexOf(";") > -1) {
- contentType = tmpContentType.substring(0, tmpContentType.indexOf(";"));
- } else {
- contentType = tmpContentType;
- }
+ contentType = SAAJUtil.normalizeContentType(tmpContentType);
}
}
initCharsetEncodingFromContentType(tmpContentType);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java?rev=733306&r1=733305&r2=733306&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java Sat Jan 10 10:02:36 2009
@@ -31,6 +31,7 @@
import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
import org.apache.axis2.builder.BuilderUtil;
import org.apache.axis2.saaj.util.IDGenerator;
+import org.apache.axis2.saaj.util.SAAJUtil;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -109,7 +110,7 @@
String contentTypes[] = mimeHeaders.getHeader(HTTPConstants.CONTENT_TYPE);
if (contentTypes != null && contentTypes.length > 0) {
fullContentTypeStr = contentTypes[0];
- contentType = extractFirstPart(fullContentTypeStr);
+ contentType = SAAJUtil.normalizeContentType(fullContentTypeStr);
}
}
@@ -212,18 +213,6 @@
}
}
- private String extractFirstPart(String fullContentTypeStr) {
- String contentType;//tmpContentType can be like 'application/soap+xml; charset=UTF-8;'
- //Only the first part is important
- if (fullContentTypeStr.indexOf(";") > -1) {
- contentType = fullContentTypeStr.substring(0, fullContentTypeStr.indexOf(";"));
- } else {
- contentType = fullContentTypeStr;
- }
- return contentType;
- }
-
-
public SOAPPartImpl(SOAPMessageImpl parentSoapMsg,
InputStream inputStream) throws SOAPException {
this(parentSoapMsg, inputStream, null);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java?rev=733306&r1=733305&r2=733306&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java Sat Jan 10 10:02:36 2009
@@ -151,4 +151,16 @@
}
return result;
}
+
+ /**
+ * Normalize a content type specification. This removes all parameters
+ * from the content type and converts it to lower case.
+ *
+ * @param contentType the content type to normalize
+ * @return the normalized content type
+ */
+ public static String normalizeContentType(String contentType) {
+ int idx = contentType.indexOf(";");
+ return (idx == -1 ? contentType : contentType.substring(idx)).toLowerCase();
+ }
}