[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