facebook

Error in creating WSDL from xfire

  1. MyEclipse Archived
  2.  > 
  3. Web Services
Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #290431 Reply

    indian.koti1
    Member

    IWAB0380E Errors were encountered while validating XML schemas.
    XSD: Type reference ‘http://beans.tkr2.ri.pfizer#PolymorphismLRReturn’ is unresolved
    XSD: Type reference ‘http://common.tkr2.ri.pfizer#InvalidDataException’ is unresolved
    XSD: Type reference ‘http://common.tkr2.ri.pfizer#SQLException’ is unresolved
    XSD: Type reference ‘http://common.tkr2.ri.pfizer#ServiceException’ is unresolved
    IWAB0381I http://tkr2services.pfizer.com/tkr2/services/SNPServices?wsdl was successfully opened.

    whenever i am creating the wsdl it is taking the namespaces as beans.tkr2.ri.pfizer instead of pfizer.ri.tkr2.beans.

    this wsdl is working fine from SOAP UI, but when i try to write my own client in eclipse, while validating wsdl it throws saying it is not able to refrence the above http namespaces?
    please suggest us how come out of this.

    Thanks,
    Koti

    #290439 Reply

    Loyal Water
    Member

    this wsdl is working fine from SOAP UI, but when i try to write my own client in eclipse, while validating wsdl it throws saying it is not able to refrence the above http namespaces?

    Can you paste the entire error message here for me.

    Would it be possible for you provide me with a sample wsdl file to help me reproduce issue at my end.

    #290440 Reply

    indian.koti1
    Member

    This is the wsdl , which we generated.

    <?xml version=”1.0″ encoding=”UTF-8″ ?>
    – <wsdl:definitions targetNamespace=”http://pgrdi.pfizer.com/webservices&#8221; xmlns:tns=”http://pgrdi.pfizer.com/webservices&#8221; xmlns:wsdlsoap=”http://schemas.xmlsoap.org/wsdl/soap/&#8221; xmlns:soap12=”http://www.w3.org/2003/05/soap-envelope&#8221; xmlns:ns1=”http://beans.tkr2.ri.pfizer&#8221; xmlns:xsd=”http://www.w3.org/2001/XMLSchema&#8221; xmlns:soapenc11=”http://schemas.xmlsoap.org/soap/encoding/&#8221; xmlns:soapenc12=”http://www.w3.org/2003/05/soap-encoding&#8221; xmlns:ns2=”http://common.tkr2.ri.pfizer&#8221; xmlns:soap11=”http://schemas.xmlsoap.org/soap/envelope/&#8221; xmlns:wsdl=”http://schemas.xmlsoap.org/wsdl/”&gt;
    – <wsdl:types>
    – <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema&#8221; attributeFormDefault=”qualified” elementFormDefault=”qualified” targetNamespace=”http://pgrdi.pfizer.com/webservices”&gt;
    – <xsd:element name=”GetPolymorphismLR”>
    – <xsd:complexType>
    – <xsd:sequence>
    <xsd:element maxOccurs=”1″ minOccurs=”1″ name=”geneId” nillable=”true” type=”xsd:string” />
    <xsd:element maxOccurs=”1″ minOccurs=”1″ name=”serviceCommands” nillable=”true” type=”xsd:string” />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    – <xsd:element name=”GetPolymorphismLRResponse”>
    – <xsd:complexType>
    – <xsd:sequence>
    <xsd:element maxOccurs=”1″ minOccurs=”1″ name=”GetPolymorphismLRResults” nillable=”true” type=”ns1:PolymorphismLRReturn” />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    – <xsd:complexType name=”ArrayOfString”>
    – <xsd:sequence>
    <xsd:element maxOccurs=”unbounded” minOccurs=”0″ name=”string” nillable=”true” type=”xsd:string” />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name=”InvalidDataException” type=”ns2:InvalidDataException” />
    <xsd:element name=”SQLException” type=”ns2:SQLException” />
    <xsd:element name=”ServiceException” type=”ns2:ServiceException” />
    </xsd:schema>
    – <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema&#8221; attributeFormDefault=”qualified” elementFormDefault=”qualified” targetNamespace=”http://beans.tkr2.ri.pfizer”&gt;
    – <xsd:complexType name=”PolymorphismLRReturn”>
    – <xsd:sequence>
    <xsd:element minOccurs=”0″ name=”date” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”entityArray” nillable=”true” type=”ns1:ArrayOfPolymorphismLR” />
    </xsd:sequence>
    </xsd:complexType>
    – <xsd:complexType name=”ArrayOfPolymorphismLR”>
    – <xsd:sequence>
    <xsd:element maxOccurs=”unbounded” minOccurs=”0″ name=”PolymorphismLR” nillable=”true” type=”ns1:PolymorphismLR” />
    </xsd:sequence>
    </xsd:complexType>
    – <xsd:complexType name=”PolymorphismLR”>
    – <xsd:sequence>
    <xsd:element minOccurs=”0″ name=”commonAminoAcid” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”commonNucleotide” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”genomeLocation” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”minorAllele” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”polyID” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”position” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”proteinLocation” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”rareAminoAcid” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”rareNucleotide” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”region” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”snpID” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”source” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”validationStatus” nillable=”true” type=”xsd:string” />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    – <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema&#8221; attributeFormDefault=”qualified” elementFormDefault=”qualified” targetNamespace=”http://common.tkr2.ri.pfizer”&gt;
    – <xsd:complexType name=”InvalidDataException”>
    – <xsd:sequence>
    <xsd:element minOccurs=”0″ name=”errorCode” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”errorDescription” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”var1″ nillable=”true” type=”tns:ArrayOfString” />
    <xsd:element minOccurs=”0″ name=”variables” nillable=”true” type=”tns:ArrayOfString” />
    </xsd:sequence>
    </xsd:complexType>
    – <xsd:complexType name=”SQLException”>
    – <xsd:sequence>
    <xsd:element minOccurs=”0″ name=”errorCode” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”errorDescription” nillable=”true” type=”xsd:string” />
    <xsd:element minOccurs=”0″ name=”var1″ nillable=”true” type=”tns:ArrayOfString” />
    <xsd:element minOccurs=”0″ name=”variables” nillable=”true” type=”tns:ArrayOfString” />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name=”ServiceException” />
    </xsd:schema>
    </wsdl:types>
    – <wsdl:message name=”ServiceException”>
    <wsdl:part name=”ServiceException” element=”tns:ServiceException” />
    </wsdl:message>
    – <wsdl:message name=”SQLException”>
    <wsdl:part name=”SQLException” element=”tns:SQLException” />
    </wsdl:message>
    – <wsdl:message name=”GetPolymorphismLRResponse”>
    <wsdl:part name=”parameters” element=”tns:GetPolymorphismLRResponse” />
    </wsdl:message>
    – <wsdl:message name=”InvalidDataException”>
    <wsdl:part name=”InvalidDataException” element=”tns:InvalidDataException” />
    </wsdl:message>
    – <wsdl:message name=”GetPolymorphismLRRequest”>
    <wsdl:part name=”parameters” element=”tns:GetPolymorphismLR” />
    </wsdl:message>
    – <wsdl:portType name=”SNPServices”>
    – <wsdl:operation name=”GetPolymorphismLR”>
    <wsdl:input name=”GetPolymorphismLRRequest” message=”tns:GetPolymorphismLRRequest” />
    <wsdl:output name=”GetPolymorphismLRResponse” message=”tns:GetPolymorphismLRResponse” />
    <wsdl:fault name=”InvalidDataException” message=”tns:InvalidDataException” />
    <wsdl:fault name=”SQLException” message=”tns:SQLException” />
    <wsdl:fault name=”ServiceException” message=”tns:ServiceException” />
    </wsdl:operation>
    </wsdl:portType>
    – <wsdl:binding name=”SNPServicesHttpBinding” type=”tns:SNPServices”>
    <wsdlsoap:binding style=”document” transport=”http://schemas.xmlsoap.org/soap/http&#8221; />
    – <wsdl:operation name=”GetPolymorphismLR”>
    <wsdlsoap:operation soapAction=”urn:GetPolymorphismLocusReport” />
    – <wsdl:input name=”GetPolymorphismLRRequest”>
    <wsdlsoap:body use=”literal” />
    </wsdl:input>
    – <wsdl:output name=”GetPolymorphismLRResponse”>
    <wsdlsoap:body use=”literal” />
    </wsdl:output>
    – <wsdl:fault name=”InvalidDataException”>
    <wsdlsoap:fault name=”InvalidDataException” use=”literal” />
    </wsdl:fault>
    – <wsdl:fault name=”SQLException”>
    <wsdlsoap:fault name=”SQLException” use=”literal” />
    </wsdl:fault>
    – <wsdl:fault name=”ServiceException”>
    <wsdlsoap:fault name=”ServiceException” use=”literal” />
    </wsdl:fault>
    </wsdl:operation>
    </wsdl:binding>
    – <wsdl:service name=”SNPServices”>
    – <wsdl:port name=”SNPServicesHttpPort” binding=”tns:SNPServicesHttpBinding”>
    <wsdlsoap:address location=”http://localhost:7001/tkr2/services/SNPServices&#8221; />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    #290476 Reply

    Loyal Water
    Member

    I have asked someone from the web services team to look into this issue. He will get back to you with an update asap.

    #290478 Reply

    Brian Fernandes
    Moderator

    Since you define different types in different namespaces, you need to import the namespaces into schema which reference these elements, I have attached a corrected WSDL file which should help.

    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions targetNamespace="http://pgrdi.pfizer.com/webservices"
        xmlns:tns="http://pgrdi.pfizer.com/webservices"
        xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
        xmlns:ns1="http://beans.tkr2.ri.pfizer"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"
        xmlns:ns2="http://common.tkr2.ri.pfizer"
        xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <wsdl:types>
            <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                attributeFormDefault="qualified" elementFormDefault="qualified"
                targetNamespace="http://pgrdi.pfizer.com/webservices">
                <xsd:import namespace="http://common.tkr2.ri.pfizer"/>
                <xsd:import namespace="http://beans.tkr2.ri.pfizer"/>
                <xsd:element name="GetPolymorphismLR">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element maxOccurs="1" minOccurs="1"
                                name="geneId" nillable="true" type="xsd:string" />
                            <xsd:element maxOccurs="1" minOccurs="1"
                                name="serviceCommands" nillable="true" type="xsd:string" />
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="GetPolymorphismLRResponse">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element maxOccurs="1" minOccurs="1"
                                name="GetPolymorphismLRResults" nillable="true"
                                type="ns1:PolymorphismLRReturn" />
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:complexType name="ArrayOfString">
                    <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="0"
                            name="string" nillable="true" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="InvalidDataException"
                    type="ns2:InvalidDataException" />
                <xsd:element name="SQLException" type="ns2:SQLException" />
                <xsd:element name="ServiceException"
                    type="ns2:ServiceException" />
            </xsd:schema>
            <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                attributeFormDefault="qualified" elementFormDefault="qualified"
                targetNamespace="http://beans.tkr2.ri.pfizer">
                <xsd:complexType name="PolymorphismLRReturn">
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="date"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="entityArray"
                            nillable="true" type="ns1:ArrayOfPolymorphismLR" />
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:complexType name="ArrayOfPolymorphismLR">
                    <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="0"
                            name="PolymorphismLR" nillable="true" type="ns1:PolymorphismLR" />
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:complexType name="PolymorphismLR">
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="commonAminoAcid"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="commonNucleotide"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="genomeLocation"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="minorAllele"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="polyID"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="position"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="proteinLocation"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="rareAminoAcid"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="rareNucleotide"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="region"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="snpID"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="source"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="validationStatus"
                            nillable="true" type="xsd:string" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:schema>
            <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                attributeFormDefault="qualified" elementFormDefault="qualified"
                targetNamespace="http://common.tkr2.ri.pfizer">
                <xsd:import namespace="http://pgrdi.pfizer.com/webservices"/>
                <xsd:complexType name="InvalidDataException">
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="errorCode"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="errorDescription"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="var1"
                            nillable="true" type="tns:ArrayOfString" />
                        <xsd:element minOccurs="0" name="variables"
                            nillable="true" type="tns:ArrayOfString" />
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:complexType name="SQLException">
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="errorCode"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="errorDescription"
                            nillable="true" type="xsd:string" />
                        <xsd:element minOccurs="0" name="var1"
                            nillable="true" type="tns:ArrayOfString" />
                        <xsd:element minOccurs="0" name="variables"
                            nillable="true" type="tns:ArrayOfString" />
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:complexType name="ServiceException" />
            </xsd:schema>
        </wsdl:types>
        <wsdl:message name="ServiceException">
            <wsdl:part name="ServiceException"
                element="tns:ServiceException" />
        </wsdl:message>
        <wsdl:message name="SQLException">
            <wsdl:part name="SQLException" element="tns:SQLException" />
        </wsdl:message>
        <wsdl:message name="GetPolymorphismLRResponse">
            <wsdl:part name="parameters"
                element="tns:GetPolymorphismLRResponse" />
        </wsdl:message>
        <wsdl:message name="InvalidDataException">
            <wsdl:part name="InvalidDataException"
                element="tns:InvalidDataException" />
        </wsdl:message>
        <wsdl:message name="GetPolymorphismLRRequest">
            <wsdl:part name="parameters" element="tns:GetPolymorphismLR" />
        </wsdl:message>
        <wsdl:portType name="SNPServices">
            <wsdl:operation name="GetPolymorphismLR">
                <wsdl:input name="GetPolymorphismLRRequest"
                    message="tns:GetPolymorphismLRRequest" />
                <wsdl:output name="GetPolymorphismLRResponse"
                    message="tns:GetPolymorphismLRResponse" />
                <wsdl:fault name="InvalidDataException"
                    message="tns:InvalidDataException" />
                <wsdl:fault name="SQLException" message="tns:SQLException" />
                <wsdl:fault name="ServiceException"
                    message="tns:ServiceException" />
            </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="SNPServicesHttpBinding"
            type="tns:SNPServices">
            <wsdlsoap:binding style="document"
                transport="http://schemas.xmlsoap.org/soap/http" />
            <wsdl:operation name="GetPolymorphismLR">
                <wsdlsoap:operation
                    soapAction="urn:GetPolymorphismLocusReport" />
                <wsdl:input name="GetPolymorphismLRRequest">
                    <wsdlsoap:body use="literal" />
                </wsdl:input>
                <wsdl:output name="GetPolymorphismLRResponse">
                    <wsdlsoap:body use="literal" />
                </wsdl:output>
                <wsdl:fault name="InvalidDataException">
                    <wsdlsoap:fault name="InvalidDataException"
                        use="literal" />
                </wsdl:fault>
                <wsdl:fault name="SQLException">
                    <wsdlsoap:fault name="SQLException" use="literal" />
                </wsdl:fault>
                <wsdl:fault name="ServiceException">
                    <wsdlsoap:fault name="ServiceException" use="literal" />
                </wsdl:fault>
            </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="SNPServices">
            <wsdl:port name="SNPServicesHttpPort"
                binding="tns:SNPServicesHttpBinding">
                <wsdlsoap:address
                    location="http://localhost:7001/tkr2/services/SNPServices" />
            </wsdl:port>
        </wsdl:service>
    </wsdl:definitions>
    #290495 Reply

    bgoodfliesh
    Member

    Brian,
    We are looking forward to implementing your proposed changes, but have questions about 2 aspects of this problem:
    1. The WSDL is programmatically generated from Xfire – so it is not clear how we can sustain the recommended include statements.
    2. Two other tools, SoapUI and SharePoint Web Parts seem to have no problem whatsoever with the xFire-generated WSDL. Why then does MyEclipse have a problem?

    Thanks for your assistance.

    Bob

    #290615 Reply

    Brian Fernandes
    Moderator

    Bob,

    Just a general note, if this is a new project, we recommend using JAX-WS instead of XFire as that is the Java EE 5 standard for web services. Development of the XFire framework has stopped, which is why we have deprecated support for it in ME, though the XFire feature will remain available.

    If you do move your application over to JAX-WS, the WSDL generated should not have the problems I mentioned above.

    Now to answer your questions:

    1) You could change your generation strategy from bottom up to top down and feed in the modified WSDL file I pasted above. You would then just need to replace the generate stub with your WS implementation class.

    2) The problem you are experiencing is because the generated WSDL is not 100% correct, as technically it is missing the import statements; this is why our WSDL validator catches the error. The WSDL is still good enough to generate a service and client (I would recommend generating a client in the XFire top down service wizard itself) – this is why other tools may not report a problem with it.

    Hope this helps, please let us know if we can provide further assistance.

Viewing 7 posts - 1 through 7 (of 7 total)
Reply To: Error in creating WSDL from xfire

You must be logged in to post in the forum log in