3 Replies Latest reply on Sep 11, 2007 3:24 AM by Vishal Sharma

    wsconsume - Problems regarding http://www.w3.org/2001/XMLSch

    Rob Mars Newbie

      Hello all,

      I am using wsconsume to generate the client side components for a web service written in .NET.

      Originally my error was:


      warning: src-resolve.4.2: Error resolving component 's:schema'. It was detected
      that 's:schema' is in namespace 'http://www.w3.org/2001/XMLSchema', but componen
      ts from this namespace are not referenceable from schema document 'http://dev-bi
      services/Reporting/ReportRequest.asmx?WSDL#types?schema1'. If this is the incorr
      ect namespace, perhaps the prefix of 's:schema' needs to be changed. If this is
      the correct namespace, then an appropriate 'import' tag should be added to 'http
      ://dev-biservices/Reporting/ReportRequest.asmx?WSDL#types?schema1'.
      line 0 of http://dev-biservices/Reporting/ReportRequest.asmx?WSDL#types?schema
      1
      error: undefined element declaration 's:schema'
      line 0 of http://dev-biservices/Reporting/ReportRequest.asmx?WSDL#types?schema
      1
      org.xml.sax.SAXParseException: undefined element declaration 's:schema'
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildMo
      del(WSDLModeler.java:213)
      at org.jboss.com.sun.tools.ws.processor.config.ModelInfo.buildModel(Mode
      lInfo.java:88)


      So I got local copies of the dtds and added the following import statement to a local copy of the WSDL...

      <s:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="XMLSchema.xsd"/>

      Now I am getting the following errors:

      C:\jboss-4.0.5.GA\bin>wsconsume -k C:\jboss-4.0.5.GA\bin\wstools\BI.wsdl

      warning: rcase-Recurse.2: There is not a complete functional mapping between the particles.
      line 405 of file:/C:/jboss-4.0.5.GA/bin/wstools/XMLSchema.xsd

      warning: derivation-ok-restriction.5.4.2: Error for type 'complexRestrictionType'.
      The particle of the type is not a valid restriction of the particle of the base.
      line 405 of file:/C:/jboss-4.0.5.GA/bin/wstools/XMLSchema.xsd

      warning: rcase-Recurse.2: There is not a complete functional mapping between the particles.
      line 451 of file:/C:/jboss-4.0.5.GA/bin/wstools/XMLSchema.xsd

      warning: derivation-ok-restriction.5.4.2: Error for type 'simpleRestrictionType'.
      The particle of the type is not a valid restriction of the particle of the base.
      line 451 of file:/C:/jboss-4.0.5.GA/bin/wstools/XMLSchema.xsd

      warning: rcase-Recurse.2: There is not a complete functional mapping between the particles.
      line 749 of file:/C:/jboss-4.0.5.GA/bin/wstools/XMLSchema.xsd

      warning: derivation-ok-restriction.5.4.2: Error for type 'all'. The particle of
      the type is not a valid restriction of the particle of the base.
      line 749 of file:/C:/jboss-4.0.5.GA/bin/wstools/XMLSchema.xsd

      error: Two declarations cause a collision in the ObjectFactory class.
      line 0 of file:/C:/jboss-4.0.5.GA/bin/wstools/BI.wsdl#types?schema1
      error: (Related to above error) This is the other declaration.
      line 0 of file:/C:/jboss-4.0.5.GA/bin/wstools/BI.wsdl#types?schema1
      error: Two declarations cause a collision in the ObjectFactory class.
      line 0 of file:/C:/jboss-4.0.5.GA/bin/wstools/BI.wsdl#types?schema1
      error: (Related to above error) This is the other declaration.
      line 0 of file:/C:/jboss-4.0.5.GA/bin/wstools/BI.wsdl#types?schema1
      error: Two declarations cause a collision in the ObjectFactory class.
      line 0 of file:/C:/jboss-4.0.5.GA/bin/wstools/BI.wsdl#types?schema1
      error: (Related to above error) This is the other declaration.
      line 0 of file:/C:/jboss-4.0.5.GA/bin/wstools/BI.wsdl#types?schema1

      com.sun.istack.SAXParseException2: (Related to above error) This is the other declaration.
      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: com.sun.istack.SAXParseException2: (Related to above error) This is the other declaration.
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:128)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2207)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:224)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:181)
      ... 8 more

      Caused by: com.sun.istack.SAXParseException2: (Related to above error) This is the other declaration.
      at com.sun.tools.xjc.ErrorReceiver.error(ErrorReceiver.java:66)
      at com.sun.tools.xjc.generator.bean.ObjectFactoryGeneratorImpl.populate(ObjectFactoryGeneratorImpl.java:152)
      at com.sun.tools.xjc.generator.bean.PublicObjectFactoryGenerator.populate(PublicObjectFactoryGenerator.java:19)
      at com.sun.tools.xjc.generator.bean.BeanGenerator.(BeanGenerator.java:210)
      at com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:151)
      at com.sun.tools.xjc.model.Model.generateCode(Model.java:230)
      at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:217)
      at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:67)
      at org.jboss.com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:126)
      ... 11 more

      error: com.sun.istack.SAXParseException2: (Related to above error) This is the other declaration.


      Here is the WSDL:

      <?xml version="1.0" encoding="utf-8"?>
      <wsdl:definitions
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
      xmlns:tns="http://biservices.corp.espn.pvt/ReportRequest"
      xmlns:s="http://www.w3.org/2001/XMLSchema"
      xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
      xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"

      targetNamespace="http://biservices.corp.espn.pvt/ReportRequest"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

      <wsdl:types>
      <s:schema elementFormDefault="qualified" targetNamespace="http://biservices.corp.espn.pvt/ReportRequest">
      <s:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="XMLSchema.xsd"/>

      <s:element name="SubmitForViewer">
      <s:complexType>
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="theReportInfo" type="tns:ReportInfo" />
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:complexType name="ReportInfo">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="CMSLogon" type="tns:CMSLogon" />
      <s:element minOccurs="0" maxOccurs="1" name="DBLogon" type="tns:DBLogon" />
      <s:element minOccurs="0" maxOccurs="1" name="ExportFormat" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="FormulaCollection" type="tns:ArrayOfFormula" />
      <s:element minOccurs="0" maxOccurs="1" name="ParameterCollection" type="tns:ArrayOfParameter" />
      <s:element minOccurs="0" maxOccurs="1" name="ParameterListCollection" type="tns:ArrayOfParameterList" />
      <s:element minOccurs="0" maxOccurs="1" name="Printer" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="RecordSelection" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ReportName" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ReportPath" type="s:string" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="CMSLogon">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Authentication" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="CMS" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="DBLogon">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Database" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfFormula">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="Formula" nillable="true" type="tns:Formula" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="Formula">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ReportName" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="SValue" type="s:string" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfParameter">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="Parameter" nillable="true" type="tns:Parameter" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="Parameter">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ReportName" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="SValue" type="s:string" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfParameterList">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="ParameterList" nillable="true" type="tns:ParameterList" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="ParameterList">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="__Name" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="__ReportName" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="__SValueCollection" type="tns:ArrayOfString" />
      <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ReportName" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="SValueCollection" type="tns:ArrayOfString" />
      </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfString">
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
      </s:sequence>
      </s:complexType>
      <s:element name="SubmitForViewerResponse">
      <s:complexType>
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="SubmitForViewerResult" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:element name="Submit">
      <s:complexType>
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="theReportInfo" type="tns:ReportInfo" />
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:element name="SubmitResponse">
      <s:complexType>
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="SubmitResult" type="s:base64Binary" />
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:element name="SubmitWithData">
      <s:complexType>
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="theReportInfo" type="tns:ReportInfo" />
      <s:element minOccurs="0" maxOccurs="1" name="theDataSet">
      <s:complexType>
      <s:sequence>
      <s:element ref="s:schema" />
      <s:any />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:element name="SubmitWithDataResponse">
      <s:complexType>
      <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="SubmitWithDataResult" type="s:base64Binary" />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:schema>
      </wsdl:types>
      <wsdl:message name="SubmitForViewerSoapIn">
      <wsdl:part name="parameters" element="tns:SubmitForViewer" />
      </wsdl:message>
      <wsdl:message name="SubmitForViewerSoapOut">
      <wsdl:part name="parameters" element="tns:SubmitForViewerResponse" />
      </wsdl:message>
      <wsdl:message name="SubmitSoapIn">
      <wsdl:part name="parameters" element="tns:Submit" />
      </wsdl:message>
      <wsdl:message name="SubmitSoapOut">
      <wsdl:part name="parameters" element="tns:SubmitResponse" />
      </wsdl:message>
      <wsdl:message name="SubmitWithDataSoapIn">
      <wsdl:part name="parameters" element="tns:SubmitWithData" />
      </wsdl:message>
      <wsdl:message name="SubmitWithDataSoapOut">
      <wsdl:part name="parameters" element="tns:SubmitWithDataResponse" />
      </wsdl:message>
      <wsdl:portType name="ReportRequestSoap">
      <wsdl:operation name="SubmitForViewer">
      <wsdl:input message="tns:SubmitForViewerSoapIn" />
      <wsdl:output message="tns:SubmitForViewerSoapOut" />
      </wsdl:operation>
      <wsdl:operation name="Submit">
      <wsdl:input message="tns:SubmitSoapIn" />
      <wsdl:output message="tns:SubmitSoapOut" />
      </wsdl:operation>
      <wsdl:operation name="SubmitWithData">
      <wsdl:input message="tns:SubmitWithDataSoapIn" />
      <wsdl:output message="tns:SubmitWithDataSoapOut" />
      </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="ReportRequestSoap" type="tns:ReportRequestSoap">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
      <wsdl:operation name="SubmitForViewer">
      <soap:operation soapAction="http://biservices.corp.espn.pvt/ReportRequest/SubmitForViewer" style="document" />
      <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="Submit">
      <soap:operation soapAction="http://biservices.corp.espn.pvt/ReportRequest/Submit" style="document" />
      <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="SubmitWithData">
      <soap:operation soapAction="http://biservices.corp.espn.pvt/ReportRequest/SubmitWithData" style="document" />
      <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      <wsdl:binding name="ReportRequestSoap12" type="tns:ReportRequestSoap">
      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
      <wsdl:operation name="SubmitForViewer">
      <soap12:operation soapAction="http://biservices.corp.espn.pvt/ReportRequest/SubmitForViewer" style="document" />
      <wsdl:input>
      <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
      <soap12:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="Submit">
      <soap12:operation soapAction="http://biservices.corp.espn.pvt/ReportRequest/Submit" style="document" />
      <wsdl:input>
      <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
      <soap12:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="SubmitWithData">
      <soap12:operation soapAction="http://biservices.corp.espn.pvt/ReportRequest/SubmitWithData" style="document" />
      <wsdl:input>
      <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
      <soap12:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="ReportRequest">
      <wsdl:port name="ReportRequestSoap" binding="tns:ReportRequestSoap">
      <soap:address location="http://dev-biservices/Reporting/ReportRequest.asmx" />
      </wsdl:port>
      <wsdl:port name="ReportRequestSoap12" binding="tns:ReportRequestSoap12">
      <soap12:address location="http://dev-biservices/Reporting/ReportRequest.asmx" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

      Sorry for the post from hell, but any help would be much appreciated.

      -Rob.