0 Replies Latest reply on May 21, 2007 5:52 PM by aodhan hoffman

    wsconsume cannot use JBoss-derived schema

    aodhan hoffman Newbie

      I built a web service using a wsdl. THis wsdl imports a schema that defines types used by the schema in the wsdl. wsconsume builds the types just fine, the namespaces appear to work out.

      I deploy the service and discover that there JBoss wrote a new wsdl that incorporated the types document, but upon deployment JBoss cannot unravel it's own wsdl to figure out some of the type definitions.

      How do I change my deployment to get JBoss to avoid this trap? Thanks.

      Here are the console log entries:

      14:23:59,305 ERROR [JBossXSErrorHandler] JBossWS_www.com_NLS_ns_soapTypes43545.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'ns1:Device'to a(n) 'element declaration' component.
      14:23:59,305 ERROR [JBossXSErrorHandler] JBossWS_www.com_NLS_ns_soapTypes43545.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'ns1:AssetDisplayName' to a(n) 'element declaration' component.
      14:23:59,305 ERROR [JBossXSErrorHandler] JBossWS_www.com_NLS_ns_soapTypes43545.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'ns1:AssetCategory' to a(n) 'element declaration' component.
      14:23:59,305 ERROR [JBossXSErrorHandler] JBossWS_www.com_NLS_ns_soapTypes43545.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'ns1:AssetDescription' to a(n) 'element declaration' component.
      14:23:59,305 ERROR [JBossXSErrorHandler] JBossWS_www.com_NLS_ns_soapTypes43545.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'ns1:AssetSuspended' to a(n) 'element declaration' component.
      14:23:59,461 INFO [TomcatDeployer] deploy, ctxPath=/NetworkLocationService3, warUrl=.../tmp/deploy/tmp43543NetworkLocationService3-exp.war/
      14:23:59,664 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.5.GA/server/default/data/wsdl/NetworkLocationService3.war/NetworkLocationService43544.wsdl
      


      Here's the resultant WSDL:
      <definitions name='NetworkLocationService'
       targetNamespace='http://www.com/NLS/soap'
       xmlns='http://schemas.xmlsoap.org/wsdl/'
       xmlns:ns1='http://www.com/NLS/ns/soapTypes'
       xmlns:ns2='http://www.com/NLS/ns/Types'
       xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
       xmlns:tns='http://www.com/NLS/soap'
       xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
       <types>
       <xs:schema targetNamespace='http://www.com/NLS/ns/soapTypes' version='1.0'
       xmlns:ns1='http://www.com/NLS/ns/Types'
       xmlns:tns='http://www.com/NLS/ns/soapTypes'
       xmlns:xs='http://www.w3.org/2001/XMLSchema'>
       <xs:import namespace='http://www.com/NLS/ns/Types'/>
       <xs:complexType name='AssetSelector'>
       <xs:sequence>
       <xs:element form='qualified' name='AssetId' type='xs:string'/>
       <xs:element form='qualified' name='OwnerAppId' type='xs:string'/>
       </xs:sequence>
       </xs:complexType>
       <xs:complexType name='AssetAssociationGetResults'>
       <xs:sequence>
       <xs:element form='qualified' name='AssociationReturnCode' type='tns:AssociationReturnCode'/>
       <xs:element form='qualified' name='AssociationValues' type='tns:AssociationValues'/>
       </xs:sequence>
       <xs:attribute name='Version' type='xs:string' use='required'/>
       </xs:complexType>
       <xs:complexType name='AssociationReturnCode'>
       <xs:sequence>
       <xs:element form='qualified' name='Success' type='xs:boolean'/>
       <xs:element form='qualified' minOccurs='0' name='Reason' type='xs:string'/>
       </xs:sequence>
       </xs:complexType>
       <xs:complexType name='AssociationValues'>
       <xs:sequence>
       <xs:element form='qualified' name='DeviceData'>
       <xs:complexType>
       <xs:sequence>
       <xs:element maxOccurs='unbounded' ref='ns1:Device'/>
       </xs:sequence>
       <xs:attribute name='Version' type='xs:string' use='required'/>
       </xs:complexType>
       </xs:element>
       <xs:element form='qualified' name='AssetData'>
       <xs:complexType>
       <xs:sequence>
       <xs:element ref='ns1:AssetDisplayName'/>
       <xs:element maxOccurs='unbounded' ref='ns1:AssetCategory'/>
       <xs:element ref='ns1:AssetDescription'/>
       <xs:element ref='ns1:AssetSuspended'/>
       </xs:sequence>
       <xs:attribute name='AssetId' type='xs:string' use='required'/>
       <xs:attribute name='OwnerAppId' type='xs:string'/>
       <xs:attribute name='Version' type='xs:string' use='required'/>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       <xs:attribute name='CreateDeviceAssociations' type='xs:string'/>
       <xs:attribute name='DeleteOtherDeviceAssociations' type='xs:boolean'/>
       </xs:complexType>
       </xs:schema>
      
       <xs:schema elementFormDefault='qualified'
       targetNamespace='http://www.com/NLS/ns/Types' version='1.0'
       xmlns:xs='http://www.w3.org/2001/XMLSchema'>
       <xs:element name='AssetData'>
       <xs:complexType>
       <xs:sequence>
       <xs:element name='AssetDisplayName' type='xs:string'/>
       <xs:element maxOccurs='unbounded' name='AssetCategory' type='xs:string'/>
       <xs:element name='AssetDescription' type='xs:string'/>
       <xs:element name='AssetSuspended' type='xs:boolean'/>
       </xs:sequence>
       <xs:attribute name='AssetId' type='xs:string' use='required'/>
       <xs:attribute name='OwnerAppId' type='xs:string'/>
       <xs:attribute name='Version' type='xs:string' use='required'/>
       </xs:complexType>
       </xs:element>
       <xs:element name='DeviceData'>
       <xs:complexType>
       <xs:sequence>
       <xs:element maxOccurs='unbounded' name='Device'>
       <xs:complexType>
       <xs:sequence>
       <xs:element minOccurs='0' name='AeroScoutTag'>
       <xs:complexType>
       <xs:sequence>
       <xs:element minOccurs='0' name='BatteryStatus' type='xs:string'/>
       </xs:sequence>
       <xs:attribute name='MacId' type='xs:string' use='required'/>
       </xs:complexType>
       </xs:element>
       <xs:element minOccurs='0' name='NetworkDevice'>
       <xs:complexType>
       <xs:sequence>
       <xs:element minOccurs='0' name='DnsName' type='xs:string'/>
       <xs:element minOccurs='0' name='Ip4Address' type='xs:string'/>
       <xs:element minOccurs='0' name='AuthenticationStatus' type='xs:string'/>
       </xs:sequence>
       <xs:attribute name='MacId' type='xs:string' use='required'/>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       <xs:attribute name='Version' type='xs:string' use='required'/>
       </xs:complexType>
       </xs:element>
       </xs:schema>
       </types>
       <message name='NetworkLocationService_assetAssociationGetResponse'>
      
       <part name='return' type='ns1:AssetAssociationGetResults'/>
       </message>
       <message name='NetworkLocationService_assetAssociationGet'>
       <part name='arg0' type='ns1:AssetSelector'/>
       </message>
       <message name='NetworkLocationService_assetAssociationSetResponse'>
       <part name='return' type='ns1:AssociationReturnCode'/>
       </message>
       <message name='NetworkLocationService_assetAssociationSet'>
      
       <part name='arg0' type='ns1:AssetSelector'/>
       <part name='arg1' type='ns1:AssociationValues'/>
       </message>
       <portType name='NetworkLocationService'>
       <operation name='assetAssociationGet' parameterOrder='arg0'>
       <input message='tns:NetworkLocationService_assetAssociationGet'/>
       <output message='tns:NetworkLocationService_assetAssociationGetResponse'/>
       </operation>
       <operation name='assetAssociationSet' parameterOrder='arg0 arg1'>
      
       <input message='tns:NetworkLocationService_assetAssociationSet'/>
       <output message='tns:NetworkLocationService_assetAssociationSetResponse'/>
       </operation>
       </portType>
       <binding name='NetworkLocationServiceBinding' type='tns:NetworkLocationService'>
       <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
       <operation name='assetAssociationGet'>
       <soap:operation soapAction=''/>
       <input>
      
       <soap:body namespace='http://www.com/NLS/soap' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://www.com/NLS/soap' use='literal'/>
       </output>
       </operation>
       <operation name='assetAssociationSet'>
       <soap:operation soapAction=''/>
       <input>
      
       <soap:body namespace='http://www.com/NLS/soap' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://www.com/NLS/soap' use='literal'/>
       </output>
       </operation>
       </binding>
       <service name='NetworkLocationService'>
       <port binding='tns:NetworkLocationServiceBinding' name='NetworkLocationServicePort'>
      
       <soap:address location='http://E028315:8080/NetworkLocationService3'/>
       </port>
       </service>
      </definitions>