snichol     2002/06/26 04:39:52

  Modified:    java/docs changes.html
               java/src/org/apache/soap/encoding/soapenc SoapEncUtils.java
  Log:
  In the absence of an xsi:type attribute, check the element
  namespace URI for SOAP-ENC to imply a type.  For now, just
  support SOAP-ENC:Array.  This allows interop with .NET arrays
  without a type mapping.
  
  Revision  Changes    Path
  1.29      +4 -0      xml-soap/java/docs/changes.html
  
  Index: changes.html
  ===================================================================
  RCS file: /home/cvs/xml-soap/java/docs/changes.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- changes.html      25 Jun 2002 21:23:53 -0000      1.28
  +++ changes.html      26 Jun 2002 11:39:52 -0000      1.29
  @@ -35,6 +35,10 @@
         <li>Added the ability to get copies of HTTP request and
         response programmatically.  This is useful when debugging
         SSL, as wire dumps are of no use then.</li>
  +      <li>In the absence of an xsi:type attribute, check the element
  +      namespace URI for SOAP-ENC to imply a type.  For now, just
  +      support SOAP-ENC:Array.  This allows interop with .NET arrays
  +      without a type mapping.</li>
       </ul>
     </li>
   </ul>
  
  
  
  1.12      +17 -1     
xml-soap/java/src/org/apache/soap/encoding/soapenc/SoapEncUtils.java
  
  Index: SoapEncUtils.java
  ===================================================================
  RCS file: 
/home/cvs/xml-soap/java/src/org/apache/soap/encoding/soapenc/SoapEncUtils.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SoapEncUtils.java 10 Jun 2002 05:59:00 -0000      1.11
  +++ SoapEncUtils.java 26 Jun 2002 11:39:52 -0000      1.12
  @@ -68,6 +68,7 @@
    * the <code>SOAP-ENC</code> encoding style.
    *
    * @author Matthew J. Duftler ([EMAIL PROTECTED])
  + * @author Scott Nichol ([EMAIL PROTECTED])
    */
   public class SoapEncUtils
   {
  @@ -316,7 +317,10 @@
   
     /**
      * Get the value of the xsi:type attribute, for varying values of
  -   * the xsi namespace.
  +   * the xsi namespace.  In the absence of an xsi:type attribute,
  +   * determine whether the element QName implies a type, e.g. if it
  +   * has the SOAP-ENC namespaceURI.  For now, this is limited to
  +   * checking for SOAP-ENC:Array.
      */
     public static QName getTypeQName(Element el)
       throws IllegalArgumentException
  @@ -338,6 +342,18 @@
       // Try 1999
       typeQName = getAttributeValue(el, Constants.NS_URI_1999_SCHEMA_XSI,
                                     Constants.ATTR_TYPE, null, false);
  +
  +    if (typeQName != null)
  +      return typeQName;
  +
  +    // Check for SOAP-ENC namespace for element name
  +    String nsURI = el.getNamespaceURI();
  +    if (nsURI != null && nsURI.equals(Constants.NS_URI_SOAP_ENC)) {
  +      // For now, just check for Array
  +      String localName = el.getLocalName();
  +      if (localName.equals("Array"))
  +        typeQName = new QName(nsURI, localName);
  +    }
   
       return typeQName;
     }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to