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 di...@apache.org on 2007/03/04 04:46:18 UTC

svn commit: r514351 - in /webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj: SOAPElementImpl.java SOAPEnvelopeImpl.java

Author: dims
Date: Sat Mar  3 19:46:17 2007
New Revision: 514351

URL: http://svn.apache.org/viewvc?view=rev&rev=514351
Log:
don't allow someone to set encoding style under soap 1.2 for body/fault/faultelement/envelope/detail elements

Modified:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java?view=diff&rev=514351&r1=514350&r2=514351
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java Sat Mar  3 19:46:17 2007
@@ -26,6 +26,12 @@
 import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPHeader;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPFault;
+import javax.xml.soap.SOAPFaultElement;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.Detail;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.axiom.om.OMAttribute;
@@ -532,25 +538,20 @@
      *         SOAPException - if setting the encodingStyle is invalid for this SOAPElement.
      */
     public void setEncodingStyle(String encodingStyle) throws SOAPException {
-    	if(this.element.getOMFactory() instanceof SOAP11Factory){
-    		try{
-    			URI uri = new URI(encodingStyle);
-	        	//if (!encodingStyle.equals(SOAPConstants.URI_NS_SOAP_ENCODING)) {
-	            //	throw new IllegalArgumentException("Invalid Encoding style : " + encodingStyle);
-	            //}else{
-	            ((DocumentImpl) getOwnerDocument()).setCharsetEncoding(encodingStyle);
-	            //}				
-			} catch (URISyntaxException e) {
-				throw new IllegalArgumentException("Invalid Encoding style : " 
-						+ encodingStyle+":"+e);
-			} 
-    	}else if(this.element.getOMFactory() instanceof SOAP12Factory){
-    		if(SOAPConstants.URI_NS_SOAP_1_2_ENCODING.equals(encodingStyle)){
-    			throw new SOAPException("Illegal value : "+SOAPConstants.URI_NS_SOAP_1_2_ENCODING);
-    		}else{
-    			((DocumentImpl) getOwnerDocument()).setCharsetEncoding(encodingStyle);
-    		}
-    	}
+        if (this.element.getOMFactory() instanceof SOAP11Factory) {
+            try {
+                URI uri = new URI(encodingStyle);
+                ((DocumentImpl) getOwnerDocument()).setCharsetEncoding(encodingStyle);
+            } catch (URISyntaxException e) {
+                throw new IllegalArgumentException("Invalid Encoding style : "
+                        + encodingStyle + ":" + e);
+            }
+        } else if (this.element.getOMFactory() instanceof SOAP12Factory) {
+            if (this instanceof SOAPHeader || this instanceof SOAPBody || this instanceof SOAPFault ||
+                    this instanceof SOAPFaultElement || this instanceof SOAPEnvelope || this instanceof Detail) {
+                throw new SOAPException("EncodingStyle attribute cannot appear in : " + this);
+            }
+        }
     }
 
     /* (non-Javadoc)

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java?view=diff&rev=514351&r1=514350&r2=514351
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java Sat Mar  3 19:46:17 2007
@@ -221,17 +221,6 @@
         return this;
     }
 
-    /**
-     * Override SOAPElementImpl.setEncodingStyle
-     */
-	public void setEncodingStyle(String encodingStyle) throws SOAPException {
-        if(this.element.getOMFactory() instanceof SOAP12Factory) {
-    		throw new SOAPException("SOAP1.2 does not allow encodingStyle to be set on Envelope");
-        }else{
-        	super.setEncodingStyle(encodingStyle);
-        }
-	}
-    
 	/**
 	 * Override SOAPElement.addAttribute
 	 * SOAP1.2 should not allow encodingStyle attribute to be set on Envelop



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org