Forum Discussion

adam0101's avatar
adam0101
New Contributor
3 years ago

Why does SoapUI try to fetch an XSD when it is embedded in the WSDL?

I'm new to SOAP, so please bear with me. I'm attempting to take an existing WSDL and create a SOAP API endpoint in my .Net Core application using the SoapCore NuGet package. I have several XSD's, but upon inspecting the WSDL, there are no references to external XSD files. It looks like the information is embedded in the WSDL.

 

I have the WSDL being returned as expected by configuring SoapCore as shown here, however, when I use SoapUI to create a new SOAP project based on my WSDL, it does two requests. The first request fetches the WSDL, which I would expect, and succeeds. But then it does another request on the same endpoint, but with the included querystring parameters ?xsd&name=. This causes SoapCore to fail because the request is asking for an XSD but no filename is given.

 

I have also added a question on StackOverflow which has some additional information: https://stackoverflow.com/q/67525997/64279

 

I don't know if the problem is with SoapUI, SoapCore, or my code. Why is SoapUI making this request if there is no XSD file referenced? Is this normal? Does a Soap API endpoint have to have both a WSDL and XSD to work? I put the XSDs that I have in the same folder as the WSDL and pointed SoapCore to them as shown in the link above, but the problem remains.

3 Replies

  • nmrao's avatar
    nmrao
    Champion Level 3
    Is the wsdl concrete?
    Does it have xsd imports?
    • adam0101's avatar
      adam0101
      New Contributor
      I'm not sure what a "concrete" wsdl is, but it's setup to use a physical wsdl file. It does import other schemas, but they are not imported as files, rather they are inline in the wsdl. My guess is that the problem is occurring because there is no "schemaLocation" attribute specified, but that is still valid syntax.
      • nmrao's avatar
        nmrao
        Champion Level 3
        Does the wsdl open in a browser without any issue?