pepri / wizdler

Chrome extension for testing WSDL services.
67 stars 16 forks source link

No global element was found: schema #11

Closed ghost closed 10 years ago

ghost commented 10 years ago

Hello,

if i want to Test a Webservice which i have created with VisualStudio 2010 (older Project) i get the following errormessage.

No global element was found: schema (http://www.w3.org/2001/XMLSchema)

The WSDL-File is created and Wizdler display all functions. If i want to test a Function with parameters this error occurs.

I don't know if it helps, but SoapUI generates the following output: [soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tts="TTS_WebService" xmlns:xs="http://www.w3.org/2001/XMLSchema"] [soapenv:Header/] [soapenv:Body] [tts:getCid2] [!--Optional:--] [tts:xInStueliId]123456789</tts:xInStueliId] [!--Optional:--] [tts:xOutCIDLis] [xs:schema] [!--Ignoring type [{http://www.w3.org/2001/XMLSchema}schema]--] [/xs:schema] [!--You may enter ANY elements at this point--] [/tts:xOutCIDLis] [/tts:getCid2] [/soapenv:Body] [/soapenv:Envelope] Comment: Replaced less-than sign with square bracket, to bypass githubs parsing.

With this output i can create a request with SoapUI and get the information. Please comment, if u need further information.

Greetings

pepri commented 10 years ago

Hello mbedded,

can you send me the WSDL that the Wizdler does not process correctly? If you do not want to post it here publicly, you can use my e-mail: peto.prikryl@gmail.com

I assume, it is caused by wsdl:import or xsd:include, which are not yet supported (the reason is, I did not need it yet). If it turns out to be caused by this, I will add the feature.

pepri commented 10 years ago

Hi Matthias,

thanks for the WSDL. I fixed the issue in 1.21, it should be published in few minutes.

The actual issue was in the WSDL - there is a reference to an unknown type s:schema. The SoapUI tells you that it is ignoring that type. Wizdler threw exception and displayed just that single error message about s:schema element. The WSDL should be fixed if possible, because another client generators are not so fault-tolerant.

I am now handling this case by showing that information in a comment node. I have also added a comment node for xsd:any, which was missing in my generated request too.

The output with 1.21 version is now:

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <getCid2 xmlns="TTS_WebService">
            <xInStueliId>[string?]</xInStueliId>
            <!-- Optional -->
            <xOutCIDLis>
                <!-- Invalid type reference: schema (http://www.w3.org/2001/XMLSchema) -->
                <!-- Any elements -->
            </xOutCIDLis>
        </getCid2>
    </Body>
</Envelope>

Best regards, Peter Prikryl

ghost commented 10 years ago

Hi pepri,

thank you for fixing this error. I will test if i can change the output of the WSDL-File. I will test if i can modify the output of the wsdl file. The file is created by Visual Studio.

Thank you and best regards Matthias

EDIT: Updated my Version of Wizdler and i can use the methods. Everything works fine. EDIT2: I found the Problem. The Webservice is using a DataTable/DataSet (.NET-Specific type). The non-standard type causes the problem. If i wrap a custom object (class) around this DataTable/DataSet, everything works fine