You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mi...@apache.org on 2008/06/26 21:26:21 UTC

svn commit: r671993 - in /ode/trunk: axis2/src/main/java/org/apache/ode/axis2/httpbinding/ utils/src/main/java/org/apache/ode/utils/wsdl/ utils/src/test/java/org/apache/ode/utils/wsdl/

Author: midon
Date: Thu Jun 26 12:26:20 2008
New Revision: 671993

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

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

Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java?rev=671993&r1=671992&r2=671993&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpBindingValidator.java Thu Jun 26 12:26:20 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/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java?rev=671993&r1=671992&r2=671993&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpClientHelper.java Thu Jun 26 12:26:20 2008
@@ -53,6 +53,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;
@@ -132,7 +133,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/trunk/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
URL: http://svn.apache.org/viewvc/ode/trunk/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java?rev=671993&r1=671992&r2=671993&view=diff
==============================================================================
--- ode/trunk/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java (original)
+++ ode/trunk/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java Thu Jun 26 12:26:20 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/trunk/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java?rev=671993&r1=671992&r2=671993&view=diff
==============================================================================
--- ode/trunk/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java (original)
+++ ode/trunk/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java Thu Jun 26 12:26:20 2008
@@ -200,12 +200,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);