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 ri...@apache.org on 2002/09/16 16:38:02 UTC

cvs commit: xml-axis/java/src/org/apache/axis/message RPCHandler.java

rineholt    2002/09/16 07:38:02

  Modified:    java/src/org/apache/axis/message RPCHandler.java
  Log:
  If no de/serializers are found and the parameter is org.w3c.dom.Element default to
  serializing the SOAP's paramter XML to a dom element. (ie by default support literal
  parameters)
  
  Revision  Changes    Path
  1.62      +7 -1      xml-axis/java/src/org/apache/axis/message/RPCHandler.java
  
  Index: RPCHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCHandler.java,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- RPCHandler.java	9 Sep 2002 17:03:20 -0000	1.61
  +++ RPCHandler.java	16 Sep 2002 14:38:02 -0000	1.62
  @@ -261,6 +261,12 @@
           if (dser == null) {
             if (type != null) {
                 dser = context.getDeserializerForType(type);
  +              if(null != destClass && dser == null && destClass.isAssignableFrom( org.w3c.dom.Element.class )){
  +                //If a DOM element is expected, as last resort always allow direct mapping 
  +                // of parameter's SOAP xml to a DOM element.  Support of literal  parms by default.
  +                dser = context.getDeserializer(destClass, Constants.SOAP_ELEMENT);
  +
  +              }
                 if (dser == null) {
                     throw new SAXException(Messages.getMessage(
                             "noDeser01", localName,"" + type));
  @@ -270,7 +276,7 @@
                     // with the current paramDesc type
                     Class xsiClass = 
                             context.getTypeMapping().getClassForQName(type);
  -                  if (!JavaUtils.isConvertable(xsiClass, destClass)) {
  +                  if (null != xsiClass  && !JavaUtils.isConvertable(xsiClass, destClass)) {
                         throw new SAXException("Bad types (" +
                                                xsiClass + " -> " + destClass + ")"); // FIXME!
                     }