Where is the url of the WSDL xml specification in a Delphi 7 web service?
-
06-09-2019 - |
Question
This question is non-sense. The difficulty was due to a bug in the software.
I'm trying to access a webservice using SoapUI. The webservice is developed in Delphi 7. I can call the published functions with the url http://server/my.dll/soap/IDataMod
. A html representation of the WSDL file can be accessed with a web browser in the url http://server/my.dll/wsdl/IDataMod
But I can't find the url of the WSDL xml file. The wsdl/IDataMod page is a html file. Where can I get the real thing?
I've tried the following urls:
http://server/my.dll/wsdl?intf=IDataMod
http://server/my.dll/wsdl/IDataMod
http://server/my.dll/wsdl
All of them return a html document.
Solution
Quick answer:
The URL is http://server/my.dll/wsdl/IDataMod
The question is nonsense because if you can see the HTML representation of the WSDL, there's a link to the XML file.
It was really a bug in the server.
Here are the dirty details. The application had its own dispatcher. When the URL had /wsdl/ it was delegated to the TWSDLHTMLPublish. The bug was that it should have been delegated to the DispatchRequest method, which correctly displays the HTML of XML of the WSDL based in the URL. But it was delegated to the ServiceInfo method, that always displayed the HTML representation.
OTHER TIPS
try something like "soap/IDataMod?wsdl"