[jbossws-issues] [JBoss JIRA] Updated: (JBWS-1446) WSDL includes numerous core java elements when a parameter of type Object is part of a webmethod

Thomas Diesler (JIRA) jira-events at lists.jboss.org
Wed Jun 6 10:01:09 EDT 2007


     [ http://jira.jboss.com/jira/browse/JBWS-1446?page=all ]

Thomas Diesler updated JBWS-1446:
---------------------------------

    Assignee: Thomas Diesler

> WSDL includes numerous core java elements when a parameter of type Object is part of a webmethod
> ------------------------------------------------------------------------------------------------
>
>                 Key: JBWS-1446
>                 URL: http://jira.jboss.com/jira/browse/JBWS-1446
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws
>    Affects Versions: jbossws-1.0.4
>         Environment: jboss AS 4.0.5 GA, Windows XP and Fedora Core 5
>            Reporter: Jay Cowan
>         Assigned To: Thomas Diesler
>             Fix For: jbossws-2.0.0
>
>
> When passing or returning a parameter of type java.lang.Object, the generated wsdl includes scheam information for the Object type and everything nested within:
> @WebMethod
>     public String GetString(String _string) {
>         return _string;
>     }
> @WebMethod
>     public Object GetObject( Object obj ){
>         return obj;
>     }
> produces the following type definitions within the wsdl:
>  <types>
>   <schema elementFormDefault='qualified' targetNamespace='http://reflect.lang.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://reflect.lang.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='Constructor'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredAnnotations' nillable='true' type='ns3:Annotation'/>
>      <element name='declaringClass' nillable='true' type='ns2:Class'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='exceptionTypes' nillable='true' type='ns2:Class'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='genericExceptionTypes' nillable='true' type='tns:Type'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='genericParameterTypes' nillable='true' type='tns:Type'/>
>      <element name='modifiers' type='int'/>
>      <element name='name' nillable='true' type='string'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='parameterAnnotations' nillable='true' type='ns3:Annotation.Array'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='parameterTypes' nillable='true' type='ns2:Class'/>
>      <element name='synthetic' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='typeParameters' nillable='true' type='tns:TypeVariable'/>
>      <element name='varArgs' type='boolean'/>
>     </sequence>
>    </complexType>
>    <complexType name='Field'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredAnnotations' nillable='true' type='ns3:Annotation'/>
>      <element name='declaringClass' nillable='true' type='ns2:Class'/>
>      <element name='enumConstant' type='boolean'/>
>      <element name='genericType' nillable='true' type='tns:Type'/>
>      <element name='modifiers' type='int'/>
>      <element name='name' nillable='true' type='string'/>
>      <element name='synthetic' type='boolean'/>
>      <element name='type' nillable='true' type='ns2:Class'/>
>     </sequence>
>    </complexType>
>    <complexType name='GenericDeclaration'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='typeParameters' nillable='true' type='tns:TypeVariable'/>
>     </sequence>
>    </complexType>
>    <complexType name='Method'>
>     <sequence>
>      <element name='bridge' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredAnnotations' nillable='true' type='ns3:Annotation'/>
>      <element name='declaringClass' nillable='true' type='ns2:Class'/>
>      <element name='defaultValue' nillable='true' type='ns1:Object'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='exceptionTypes' nillable='true' type='ns2:Class'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='genericExceptionTypes' nillable='true' type='tns:Type'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='genericParameterTypes' nillable='true' type='tns:Type'/>
>      <element name='genericReturnType' nillable='true' type='tns:Type'/>
>      <element name='modifiers' type='int'/>
>      <element name='name' nillable='true' type='string'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='parameterAnnotations' nillable='true' type='ns3:Annotation.Array'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='parameterTypes' nillable='true' type='ns2:Class'/>
>      <element name='returnType' nillable='true' type='ns2:Class'/>
>      <element name='synthetic' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='typeParameters' nillable='true' type='tns:TypeVariable'/>
>      <element name='varArgs' type='boolean'/>
>     </sequence>
>    </complexType>
>    <complexType name='Type'>
>     <sequence/>
>    </complexType>
>    <complexType name='TypeVariable'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='bounds' nillable='true' type='tns:Type'/>
>      <element name='genericDeclaration' nillable='true' type='tns:GenericDeclaration'/>
>      <element name='name' nillable='true' type='string'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://annotation.lang.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://annotation.lang.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='Annotation'>
>     <sequence/>
>    </complexType>
>    <complexType name='Annotation.Array'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='value' nillable='true' type='tns:Annotation'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://cert.security.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://cert.security.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='CertPath'>
>     <sequence>
>      <element name='certificates' nillable='true' type='ns8:List'/>
>      <element name='encoded' nillable='true' type='base64Binary'/>
>      <element name='encodings' nillable='true' type='ns8:Iterator'/>
>      <element name='type' nillable='true' type='string'/>
>     </sequence>
>    </complexType>
>    <complexType name='Certificate'>
>     <sequence>
>      <element name='encoded' nillable='true' type='base64Binary'/>
>      <element name='publicKey' nillable='true' type='ns5:PublicKey'/>
>      <element name='type' nillable='true' type='string'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://lang.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://lang.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='Class'>
>     <sequence>
>      <element name='annotation' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='annotations' nillable='true' type='ns3:Annotation'/>
>      <element name='anonymousClass' type='boolean'/>
>      <element name='array' type='boolean'/>
>      <element name='canonicalName' nillable='true' type='string'/>
>      <element name='classLoader' nillable='true' type='tns:ClassLoader'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='classes' nillable='true' type='tns:Class'/>
>      <element name='componentType' nillable='true' type='tns:Class'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='constructors' nillable='true' type='ns4:Constructor'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredAnnotations' nillable='true' type='ns3:Annotation'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredClasses' nillable='true' type='tns:Class'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredConstructors' nillable='true' type='ns4:Constructor'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredFields' nillable='true' type='ns4:Field'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredMethods' nillable='true' type='ns4:Method'/>
>      <element name='declaringClass' nillable='true' type='tns:Class'/>
>      <element name='enclosingClass' nillable='true' type='tns:Class'/>
>      <element name='enclosingConstructor' nillable='true' type='ns4:Constructor'/>
>      <element name='enclosingMethod' nillable='true' type='ns4:Method'/>
>      <element name='enum' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='enumConstants' nillable='true' type='ns1:Object'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='fields' nillable='true' type='ns4:Field'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='genericInterfaces' nillable='true' type='ns4:Type'/>
>      <element name='genericSuperclass' nillable='true' type='ns4:Type'/>
>      <element name='interface' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='interfaces' nillable='true' type='tns:Class'/>
>      <element name='localClass' type='boolean'/>
>      <element name='memberClass' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='methods' nillable='true' type='ns4:Method'/>
>      <element name='modifiers' type='int'/>
>      <element name='name' nillable='true' type='string'/>
>      <element name='package' nillable='true' type='tns:Package'/>
>      <element name='primitive' type='boolean'/>
>      <element name='protectionDomain' nillable='true' type='ns5:ProtectionDomain'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='signers' nillable='true' type='ns1:Object'/>
>      <element name='simpleName' nillable='true' type='string'/>
>      <element name='superclass' nillable='true' type='tns:Class'/>
>      <element name='synthetic' type='boolean'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='typeParameters' nillable='true' type='ns4:TypeVariable'/>
>     </sequence>
>    </complexType>
>    <complexType name='ClassLoader'>
>     <sequence>
>      <element name='defaultAssertionStatus' type='boolean'/>
>      <element name='parent' nillable='true' type='tns:ClassLoader'/>
>     </sequence>
>    </complexType>
>    <complexType name='Package'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='annotations' nillable='true' type='ns3:Annotation'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='declaredAnnotations' nillable='true' type='ns3:Annotation'/>
>      <element name='implementationTitle' nillable='true' type='string'/>
>      <element name='implementationVendor' nillable='true' type='string'/>
>      <element name='implementationVersion' nillable='true' type='string'/>
>      <element name='name' nillable='true' type='string'/>
>      <element name='sealed' type='boolean'/>
>      <element name='specificationTitle' nillable='true' type='string'/>
>      <element name='specificationVendor' nillable='true' type='string'/>
>      <element name='specificationVersion' nillable='true' type='string'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://testws.ycc.yale.edu/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns2='http://lang.java/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://testws.ycc.yale.edu/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='Object'>
>     <sequence>
>      <element name='class' nillable='true' type='ns2:Class'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://security.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://security.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='CodeSigner'>
>     <sequence>
>      <element name='signerCertPath' nillable='true' type='ns6:CertPath'/>
>      <element name='timestamp' nillable='true' type='tns:Timestamp'/>
>     </sequence>
>    </complexType>
>    <complexType name='CodeSource'>
>     <sequence>
>      <element maxOccurs='unbounded' minOccurs='0' name='certificates' nillable='true' type='ns6:Certificate'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='codeSigners' nillable='true' type='tns:CodeSigner'/>
>      <element name='location' nillable='true' type='ns9:URL'/>
>     </sequence>
>    </complexType>
>    <complexType name='PermissionCollection'>
>     <sequence>
>      <element name='readOnly' type='boolean'/>
>     </sequence>
>    </complexType>
>    <complexType name='Principal'>
>     <sequence>
>      <element name='name' nillable='true' type='string'/>
>     </sequence>
>    </complexType>
>    <complexType name='ProtectionDomain'>
>     <sequence>
>      <element name='classLoader' nillable='true' type='ns2:ClassLoader'/>
>      <element name='codeSource' nillable='true' type='tns:CodeSource'/>
>      <element name='permissions' nillable='true' type='tns:PermissionCollection'/>
>      <element maxOccurs='unbounded' minOccurs='0' name='principals' nillable='true' type='tns:Principal'/>
>     </sequence>
>    </complexType>
>    <complexType name='PublicKey'>
>     <sequence/>
>    </complexType>
>    <complexType name='Timestamp'>
>     <sequence>
>      <element name='signerCertPath' nillable='true' type='ns6:CertPath'/>
>      <element name='timestamp' nillable='true' type='dateTime'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://net.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns8='http://util.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://net.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://util.java/jaws'/>
>    <complexType name='URL'>
>     <sequence>
>      <element name='authority' nillable='true' type='string'/>
>      <element name='content' nillable='true' type='ns1:Object'/>
>      <element name='defaultPort' type='int'/>
>      <element name='file' nillable='true' type='string'/>
>      <element name='host' nillable='true' type='string'/>
>      <element name='path' nillable='true' type='string'/>
>      <element name='port' type='int'/>
>      <element name='protocol' nillable='true' type='string'/>
>      <element name='query' nillable='true' type='string'/>
>      <element name='ref' nillable='true' type='string'/>
>      <element name='userInfo' nillable='true' type='string'/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema elementFormDefault='qualified' targetNamespace='http://util.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://testws.ycc.yale.edu/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:ns3='http://annotation.lang.java/jaws' xmlns:ns4='http://reflect.lang.java/jaws' xmlns:ns5='http://security.java/jaws' xmlns:ns6='http://cert.security.java/jaws' xmlns:ns7='http://www.w3.org/2001/XMLSchema' xmlns:ns9='http://net.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://util.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
>    <import namespace='http://reflect.lang.java/jaws'/>
>    <import namespace='http://cert.security.java/jaws'/>
>    <import namespace='http://annotation.lang.java/jaws'/>
>    <import namespace='http://www.w3.org/2001/XMLSchema'/>
>    <import namespace='http://lang.java/jaws'/>
>    <import namespace='http://testws.ycc.yale.edu/jaws'/>
>    <import namespace='http://security.java/jaws'/>
>    <import namespace='http://net.java/jaws'/>
>    <complexType name='Iterator'>
>     <sequence/>
>    </complexType>
>    <complexType name='List'>
>     <sequence>
>      <element name='empty' type='boolean'/>
>     </sequence>
>    </complexType>
>   </schema>
>  </types>
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossws-issues mailing list