Где находится URL спецификации WSDL xml в веб-службе Delphi 7?
-
06-09-2019 - |
Вопрос
Этот вопрос лишен смысла.Сложность была связана с ошибкой в программном обеспечении.
Я пытаюсь получить доступ к веб-сервису, используя СоапУИ.Веб-сервис разработан на Delphi 7.Я могу вызывать опубликованные функции с URL-адресом http://server/my.dll/soap/IDataMod
.Доступ к HTML-представлению файла WSDL можно получить с помощью веб-браузера по URL-адресу http://server/my.dll/wsdl/IDataMod
Но я не могу найти URL-адрес XML-файла WSDL.Страница wsdl/ IDataMod представляет собой html-файл.Где я могу достать настоящую вещь?
Я пробовал использовать следующие URL-адреса:
http://server/my.dll/wsdl?intf=IDataMod
http://server/my.dll/wsdl/IDataMod
http://server/my.dll/wsdl
Все они возвращают html-документ.
Решение
Быстрый ответ:
URL-адрес таков http://server/my.dll/wsdl/IDataMod
Вопрос бессмысленный, потому что если вы можете видеть HTML-представление WSDL, то там есть ссылка на XML-файл.
На самом деле это была ошибка на сервере.
Вот грязные подробности.У приложения был свой собственный диспетчер.Когда URL-адрес имел /wsdl/, он был делегирован TWSDLHTMLPublish.Ошибка заключалась в том, что она должна была быть делегирована методу DispatchRequest, который корректно отображает HTML или XML WSDL на основе URL.Но это было делегировано методу ServiceInfo, который всегда отображал HTML-представление.
Другие советы
попробуйте что-нибудь вроде "soap /IDataMod?wsdl".