snichol     2004/06/22 14:39:48

  Modified:    java/docs changes.html
               java/src/org/apache/soap Constants.java
               java/src/org/apache/soap/encoding SOAPMappingRegistry.java
  Log:
  Map deserializers for the SOAP-ENC equivalents of 2001 XSD types.
  
  Revision  Changes    Path
  1.55      +3 -0      ws-soap/java/docs/changes.html
  
  Index: changes.html
  ===================================================================
  RCS file: /home/cvs/ws-soap/java/docs/changes.html,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- changes.html      7 Apr 2004 03:03:42 -0000       1.54
  +++ changes.html      22 Jun 2004 21:39:48 -0000      1.55
  @@ -109,6 +109,9 @@
         <li>Add the ability to return text attachments from COM-based services by 
setting
         <code>&lt;isd:option key=&quot;AttachString&quot; 
value=&quot;true&quot;/&gt;</code>
         within the <code>isd:provider</code> element in the deployment 
descriptor.</li>
  +      <li>Fix a bug in MessageRouter#invoke that treated custom provider services
  +      as scripts rather than Java.</li>
  +      <li>Map deserializers for the SOAP-ENC equivalents of 2001 XSD types.</li>
       </ul>
     </li>
   </ul>
  
  
  
  1.32      +29 -0     ws-soap/java/src/org/apache/soap/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: /home/cvs/ws-soap/java/src/org/apache/soap/Constants.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- Constants.java    7 Apr 2004 20:51:35 -0000       1.31
  +++ Constants.java    22 Jun 2004 21:39:48 -0000      1.32
  @@ -269,6 +269,35 @@
     public static final QName object2001QName =
       new QName(Constants.NS_URI_2001_SCHEMA_XSD, "anyType");
   
  +  public static final QName stringSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "string");
  +  public static final QName intSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "int");
  +  public static final QName decimalSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "decimal");
  +  public static final QName floatSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "float");
  +  public static final QName doubleSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "double");
  +  public static final QName dateSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "date");
  +  public static final QName booleanSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "boolean");
  +  public static final QName longSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "long");
  +  public static final QName shortSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "short");
  +  public static final QName byteSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "byte");
  +  public static final QName hexSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "hexBinary");
  +  public static final QName qNameSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "QName");
  +  public static final QName timeInstSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "dateTime");
  +  public static final QName objectSoapEncQName =
  +    new QName(Constants.NS_URI_SOAP_ENC, "anyType");
  +
     public static final ContentType CTYPE_TEXT_ALL = 
MimeUtils.getContentType("text/*");
     public static final ContentType CTYPE_TEXT_XML = 
MimeUtils.getContentType("text/xml");
     public static final ContentType CTYPE_MULTIPART = MimeUtils.getContentType(
  
  
  
  1.41      +31 -0     
ws-soap/java/src/org/apache/soap/encoding/SOAPMappingRegistry.java
  
  Index: SOAPMappingRegistry.java
  ===================================================================
  RCS file: 
/home/cvs/ws-soap/java/src/org/apache/soap/encoding/SOAPMappingRegistry.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- SOAPMappingRegistry.java  7 Apr 2004 20:51:36 -0000       1.40
  +++ SOAPMappingRegistry.java  22 Jun 2004 21:39:48 -0000      1.41
  @@ -173,6 +173,34 @@
       Constants.object2001QName,
     };
   
  +  private static QName soapEncQNames [] = {
  +    Constants.stringSoapEncQName,
  +    Constants.intSoapEncQName,
  +    Constants.intSoapEncQName,
  +    Constants.decimalSoapEncQName,
  +    Constants.floatSoapEncQName,
  +    Constants.floatSoapEncQName,
  +    Constants.doubleSoapEncQName,
  +    Constants.doubleSoapEncQName,
  +    Constants.booleanSoapEncQName,
  +    Constants.booleanSoapEncQName,
  +    Constants.longSoapEncQName,
  +    Constants.longSoapEncQName,
  +    Constants.shortSoapEncQName,
  +    Constants.shortSoapEncQName,
  +    Constants.byteSoapEncQName,
  +    Constants.byteSoapEncQName,
  +    Constants.hexSoapEncQName,
  +    Constants.qNameSoapEncQName,
  +    Constants.dateSoapEncQName,
  +    Constants.timeInstSoapEncQName,
  +    dataHandlerQName, // for null DataHandler
  +    dataHandlerQName, // for null DataHandler
  +    dataHandlerQName, // for null DataHandler
  +    dataHandlerQName, // for null DataHandler
  +    Constants.objectSoapEncQName,
  +  };
  +
     private static Class classes [] = {
       String.class,
       Integer.class,
  @@ -400,6 +428,9 @@
   
       // map the ones that I want to do read-write with
       mapSchemaTypes(schemaQNames, true);
  +
  +    // map the SOAP-ENC deserializers
  +    mapSchemaTypes(soapEncQNames, false);
   
       // add a mapping for serialization of null Objects
       addJavaToXMLMap(soapEncURI, objectQName, Object.class);
  
  
  

Reply via email to