Author: midon
Date: Thu Jun 26 19:28:24 2008
New Revision: 672084

URL: http://svn.apache.org/viewvc?rev=672084&view=rev
Log:
ODE-306: return the full MIMEContent object, not only the type

Modified:
    
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java
    
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java
    
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
    
ode/branches/APACHE_ODE_1.1/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java

Modified: 
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java?rev=672084&r1=672083&r2=672084&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java
 Thu Jun 26 19:28:24 2008
@@ -26,8 +26,8 @@
 import javax.wsdl.BindingInput;
 import javax.wsdl.BindingOperation;
 import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.http.HTTPBinding;
 import javax.wsdl.extensions.http.HTTPOperation;
+import javax.wsdl.extensions.mime.MIMEContent;
 import java.util.Map;
 import java.util.Set;
 import java.util.Iterator;
@@ -76,8 +76,8 @@
 
 
         BindingOutput output = bindingOperation.getBindingOutput();
-        String outputContentType = 
WsdlUtils.getMimeContentType(output.getExtensibilityElements());
-        if (!outputContentType.endsWith("text/xml")) {
+        MIMEContent outputContent = 
WsdlUtils.getMimeContent(output.getExtensibilityElements());
+        if (outputContent!=null && 
!outputContent.getType().endsWith("text/xml")) {
             throw new 
IllegalArgumentException(httpMsgs.msgUnsupportedContentType(binding, 
bindingOperation));
         }
 
@@ -87,7 +87,6 @@
         }
 
         BindingInput input = bindingOperation.getBindingInput();
-        String inputContentType = 
WsdlUtils.getMimeContentType(input.getExtensibilityElements());
 
         // multipartRelated not supported
         if (WsdlUtils.useMimeMultipartRelated(input)) {
@@ -95,7 +94,9 @@
         }
 
         // only 2 content-types supported
-        if (inputContentType != null) {
+        MIMEContent inputContent= 
WsdlUtils.getMimeContent(input.getExtensibilityElements());
+        if (inputContent != null) {
+            String inputContentType = inputContent.getType();
             if (!inputContentType.endsWith("text/xml") && 
!PostMethod.FORM_URL_ENCODED_CONTENT_TYPE.equalsIgnoreCase(inputContentType)) {
                 throw new 
IllegalArgumentException(httpMsgs.msgUnsupportedContentType(binding, 
bindingOperation));
             }

Modified: 
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java?rev=672084&r1=672083&r2=672084&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java
 Thu Jun 26 19:28:24 2008
@@ -55,6 +55,7 @@
 import javax.wsdl.Operation;
 import javax.wsdl.Part;
 import javax.wsdl.extensions.http.HTTPOperation;
+import javax.wsdl.extensions.mime.MIMEContent;
 import javax.xml.namespace.QName;
 import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
@@ -136,7 +137,8 @@
         // convenience variables...
         BindingInput bindingInput = bindingOperation.getBindingInput();
         HTTPOperation httpOperation = (HTTPOperation) 
WsdlUtils.getOperationExtension(bindingOperation);
-        String contentType = 
WsdlUtils.getMimeContentType(bindingInput.getExtensibilityElements());
+        MIMEContent content = 
WsdlUtils.getMimeContent(bindingInput.getExtensibilityElements());
+        String contentType = content == null ? "" : content.getType();
         boolean useUrlEncoded = WsdlUtils.useUrlEncoded(bindingInput) || 
PostMethod.FORM_URL_ENCODED_CONTENT_TYPE.equalsIgnoreCase(contentType);
         boolean useUrlReplacement = WsdlUtils.useUrlReplacement(bindingInput);
 

Modified: 
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java?rev=672084&r1=672083&r2=672084&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
 Thu Jun 26 19:28:24 2008
@@ -220,7 +220,7 @@
      * contained in the extensibility element list. Or null if none.
      * @throws IllegalArgumentException if more than 1 MIMEContent is found.
      */
-    public static String getMimeContentType(List extensibilityElements) {
+    public static MIMEContent getMimeContent(List extensibilityElements) {
         Collection<MIMEContent> coll = 
CollectionsX.filter(extensibilityElements, MIMEContent.class);
         if (coll.size() == 0) {
             return null;
@@ -229,8 +229,7 @@
             throw new IllegalArgumentException(msgs.msgMultipleMimeContent());
         } else {
             // retrieve the single element
-            MIMEContent mimeContent = coll.iterator().next();
-            return mimeContent.getType();
+            return coll.iterator().next();
         }
     }
 

Modified: 
ode/branches/APACHE_ODE_1.1/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java?rev=672084&r1=672083&r2=672084&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java
 Thu Jun 26 19:28:24 2008
@@ -194,12 +194,12 @@
     public void testGetMimeContentType() {
         Binding binding = definition.getBinding(new 
QName("http://axis2.ode.apache.org";, "DummyServiceHttpBinding"));
         BindingOperation operation = binding.getBindingOperation("hello", 
null, null);
-        String mimeContentType = 
WsdlUtils.getMimeContentType(operation.getBindingInput().getExtensibilityElements());
+        String mimeContentType = 
WsdlUtils.getMimeContent(operation.getBindingInput().getExtensibilityElements()).getType();
         assertEquals("text/xml", mimeContentType);
 
         binding = definition.getBinding(new 
QName("http://axis2.ode.apache.org";, "DummyServiceSOAP11Binding"));
         operation = binding.getBindingOperation("hello", null, null);
-        mimeContentType = 
WsdlUtils.getMimeContentType(operation.getBindingInput().getExtensibilityElements());
+        mimeContentType = 
WsdlUtils.getMimeContent(operation.getBindingInput().getExtensibilityElements()).getType();
         assertNull(mimeContentType);
 
 


Reply via email to