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!
}