Russell, this should fix the problem with skeletons + test.wsdl.types.
--Glen > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Thursday, April 18, 2002 12:19 AM > To: [EMAIL PROTECTED] > Subject: cvs commit: xml-axis/java/src/org/apache/axis/description > ServiceDesc.java > > > 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/Servic > eDesc.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( > > > >