gdaniels    02/04/17 21:19:14

  Modified:    java/src/org/apache/axis/description ServiceDesc.java
  Log:
  If the introspected type is a Holder, use the held class when determining
  the type QName.
  
  Revision  Changes    Path
  1.18      +9 -1      xml-axis/java/src/org/apache/axis/description/ServiceDesc.java
  
  Index: ServiceDesc.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/ServiceDesc.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ServiceDesc.java  15 Apr 2002 02:35:57 -0000      1.17
  +++ ServiceDesc.java  18 Apr 2002 04:19:14 -0000      1.18
  @@ -60,6 +60,7 @@
   import org.apache.axis.wsdl.Skeleton;
   
   import javax.xml.rpc.namespace.QName;
  +import javax.xml.rpc.holders.Holder;
   import java.util.*;
   import java.lang.reflect.Method;
   import java.lang.reflect.InvocationTargetException;
  @@ -425,8 +426,15 @@
                       // If no type is specified, just use the Java type
                       QName typeQName = param.getTypeQName();
                       if (typeQName == null) {
  +                        if (Holder.class.isAssignableFrom(type)) {
  +                            typeQName = tm.getTypeQName(
  +                                            JavaUtils.getHolderValueType(type));
  +                        } else {
  +                            typeQName = tm.getTypeQName(type);
  +                        }
  +
                           param.setJavaType(type);
  -                        param.setTypeQName(tm.getTypeQName(type));
  +                        param.setTypeQName(typeQName);
                       } else {
                           // A type was specified - see if they match
                           Class paramClass = tm.getClassForQName(
  
  
  


Reply via email to