3 Replies Latest reply on Sep 1, 2006 2:56 AM by thomas.diesler

    Type definition exception (bug?)

    sbalmos

      Hi everyone,

      I believe this is an issue with how WSDL files are written by the JSR-181 deployer. I have a function that returns a class User, which is a subclass of class SecurityEntity. The deployer gives the following Exception:

      16:11:29,332 ERROR [JBossXSErrorHandler] JBossWS_soap.snx.simunex.com_jaws38822.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'tns:SecurityEntity' to a(n) 'type definition' component.
      16:11:29,352 ERROR [JBossXSErrorHandler] [domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'tns:SecurityEntity' to a(n) 'type definition' component.
      16:11:29,362 ERROR [JBossXSErrorHandler] [domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'tns:SecurityEntity' to a(n) 'type definition' component.
      ...
      16:11:35,140 ERROR [MainDeployer] Could not start deployment: file:/C:/Program Files/jboss-4.0.4.GA/server/default/tmp/deploy/tmp38818SimuNex-Backend.ear-contents/soap.jar
      org.jboss.ws.WSException: Element securityEntityID found in jaxrpc-mapping but not in the schema: {http://soap.snx.simunex.com/jaws}User
      


      But if you look in the WSDL file for the service, User is correctly defined as an extension of SecurityEntity, and SecurityEntity does have a securityEntityID field. It's just that SecurityEntity is defined *after* User. See below:

       <schema elementFormDefault='qualified' targetNamespace='http://soap.snx.simunex.com/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://types.core.snx.simunex.com/jaws' xmlns:ns3='http://util.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://soap.snx.simunex.com/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <import namespace='http://types.core.snx.simunex.com/jaws'/>
       <import namespace='http://util.java/jaws'/>
       <complexType name='Map'>
       <sequence>
       <element name='empty' type='boolean'/>
       </sequence>
       </complexType>
       <complexType name='User'>
       <complexContent>
       <extension base='tns:SecurityEntity'>
       <sequence>
       <element name='active' type='boolean'/>
       <element name='age' type='int'/>
       <element name='emailAddress' nillable='true' type='string'/>
       <element name='firstName' nillable='true' type='string'/>
       <element name='joinDate' nillable='true' type='dateTime'/>
       <element name='lastName' nillable='true' type='string'/>
       <element name='locale' nillable='true' type='ns3:Locale'/>
       <element name='memberOfGroups' nillable='true' type='ns3:Set'/>
       <element name='userName' nillable='true' type='string'/>
       </sequence>
       </extension>
       </complexContent>
       </complexType>
       </schema>
       <schema elementFormDefault='qualified' targetNamespace='http://types.core.snx.simunex.com/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns2='http://soap.snx.simunex.com/jaws' xmlns:ns3='http://util.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://types.core.snx.simunex.com/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <import namespace='http://soap.snx.simunex.com/jaws'/>
       <import namespace='http://util.java/jaws'/>
       <complexType name='SecurityEntity'>
       <sequence>
       <element name='securityEntityID' nillable='true' type='long'/>
       </sequence>
       </complexType>
       </schema>
      


      Is this a bug in the deployer or such? Thanks!

      --Scott