2 Replies Latest reply on Jun 12, 2007 1:54 PM by maffewl

    'uniqueness constraint violation' when running wsconsume on

    maffewl

      Hi all, I've been able to deploy a webservice in JBossWS based on a WSDL that I had made running under jboss-net/axis. I used WSConsume and the Top-Down approach to arrive at this point. When i attepmt to use wsconsume on the deployed wsdl, I get errors talking about a uniqueness constraint violation


      uniqueness constraint violation
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:213)
      at org.jboss.com.sun.tools.ws.processor.config.ModelInfo.buildModel(ModelInfo.java:88)
      at org.jboss.com.sun.tools.ws.processor.Processor.runModeler(Processor.java:82)
      at org.jboss.com.sun.tools.ws.wscompile.CompileTool.run(CompileTool.java:543)
      at org.jboss.com.sun.tools.ws.util.ToolBase.run(ToolBase.java:57)
      at org.jboss.ws.tools.jaxws.impl.WSContractConsumerImpl$1.run(WSContractConsumerImpl.java:163)
      at org.jboss.ws.tools.jaxws.impl.WSContractConsumerImpl.consume(WSContractConsumerImpl.java:166)
      at org.jboss.ws.tools.jaxws.command.wsconsume.importServices(wsconsume.java:193)
      at org.jboss.ws.tools.jaxws.command.wsconsume.main(wsconsume.java:76)
      Caused by: uniqueness constraint violation
      at org.jboss.com.sun.tools.ws.processor.model.java.JavaMethod.addParameter(JavaMethod.java:76)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.createJavaMethodForOperation(WSDLModeler.java:2411)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.createJavaInterfaceForPort(WSDLModeler.java:2244)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.processPort(WSDLModeler.java:536)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.processService(WSDLModeler.java:289)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:258)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:181)



      then i get a big list of errors that look like this

      17:03:27,104 ERROR [JBossXSErrorHandler] JBossWS_cls.chase.com_type17794.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=sch-props-correct.2]::Message=sch-props-correct.2: A schema cannot contain two global components with the same name; this schema contains two occurrences of 'http://cls.chase.com/type,rewardsProgramAttributes'.


      it seems to be for most of my properties, can anyone tell me why this happens?

      ive invluded a portion of the deployed wsdl that contains all the nodes that have the element in the example error message

      <definitions name='AccountService' targetNamespace='http://XXX.XXXXX.com/account' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://XXX.XXXXX.com/type' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://XXX.XXXXX.com/account' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
       <types>
       <xs:schema elementFormDefault='qualified' targetNamespace='http://XXX.XXXXX.com/type' version='1.0' xmlns:tns='http://XXX.XXXXX.com/type' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
      
       ...
      
       <xs:complexType name='rewardsProgramAttributes'>
       <xs:sequence>
       <xs:element name='programName' type='xs:string'/>
      
       <xs:element name='programDescription' type='xs:string'/>
       <xs:element name='rewardsCurrency' type='xs:string'/>
       <xs:element name='rewardsCurrencyDescription' type='xs:string'/>
       <xs:element name='rewardsProductCode' type='xs:string'/>
       <xs:element name='rewardsDisplayFormat' type='xs:string'/>
       </xs:sequence>
       </xs:complexType>
      
       ...
      
      
       <xs:complexType name='promotion'>
       <xs:sequence>
       <xs:element name='internalIdentifier' type='xs:long'/>
       <xs:element name='name' type='xs:string'/>
       <xs:element name='description' type='xs:string'/>
      
       <xs:element name='merchantInternalIdentifier' type='xs:long'/>
       <xs:element name='merchantName' type='xs:string'/>
       <xs:element name='merchantId' type='xs:string'/>
       <xs:element name='activationDate' type='xs:string'/>
       <xs:element name='expirationDate' type='xs:string'/>
       <xs:element name='terms' type='xs:string'/>
       <xs:element name='enrollmentOptions' type='tns:enrollmentOption_Array'/>
       <xs:element name='rewardsProgramAttributes' type='tns:rewardsProgramAttributes_Array'/>
       <xs:element name='excludeRewardsProgramAttributesInd' type='xs:boolean'/>
      
       <xs:element name='promotionStatusCode' type='xs:int'/>
       </xs:sequence>
       </xs:complexType>
      
       ...
      
       <xs:complexType name='rewardsProgramAttributes_Array'>
       <xs:sequence>
       <xs:element maxOccurs='unbounded' minOccurs='0' name='rewardsProgramAttributes' nillable='true' type='tns:rewardsProgramAttributes'/>
       </xs:sequence>
       </xs:complexType>
      
       ...
      
       </xs:schema>
       </types>
      
       ...
      
      </definitions>
      


      thanks in advance