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(
>   
>   
>   
> 

Reply via email to