Установка веб-сервиса Delphi 7 ISAPI
-
28-09-2020 - |
Вопрос
Я разработал веб-службу ISAPI в Delphi 7, и мне нужно установить его на сервере, чтобы его можно было потреблять приложение C #.
Я скопировал DLL из ISAPI в папку и создал виртуальный каталог в IIS сервера.
Когда я позвоню веб-службу из браузера ( http://localhost/webservice/ws.dll ) Веб-сайт для веб-службы, что Delphi создает по умолчанию. Если я создаю веб-ссылку в приложении C #, эта ссылка загружается обычно с использованием URL-адресов, который я приведен выше.
Решение
Проблема была следующей.
Мой веб-сервис используется для употребления веб-службы Delphi другого парня. Мне пришлось разработать этот веб-сервис, поскольку есть приложение .NET, которое должно потреблять веб-сервис Delphi другого парня, но парень, который разработал его сложные типы данных, которые .NET не поддерживает. Поэтому мне пришлось разработать свой веб-сервис, чтобы выступить в качестве переводчика. Я использовал .NET Поддерживаемые типы данных в том, что приложение .Net потребляет мою веб-службу Delphi, просто чтобы потреблять веб-сервис другого парня. Это такая грязная, но я не смог убедить другого парня использовать стандартные типы данных. Мой веб-сервис имеет рутину, которая принимает URL-адрес SOAP от веб-службы другого парня из файла INI. Я не помню, что я разработал эту рутину, чтобы искать этот файл INI на определенном пути.
Рутина выглядит так:
ifParams:=TIniFile.Create('C:\BancorTranslator\BancorTranslator.ini');
HostAnula:= ifParams.ReadString('GLOBAL','HOSTANULA','');
HostDepos:= ifParams.ReadString('GLOBAL','HOSTDEPOS','');
HostTrans:= ifParams.ReadString('GLOBAL','HOSTTRANS','');
HostConsu:= ifParams.ReadString('GLOBAL','HOSTCONSU','');
.
У меня был файл INI в другом месте, поэтому, когда мой веб-сервис пытался потреблять веб-сервис другого парня, настроен Web Puy, настроенный в моем веб-сервере, был пустым. Я изменил рутину, чтобы искать файл INI в той же папке, где проходит мой веб-сервис, и сейчас работает нормально. Не нужно копировать какие-либо файлы в папке System32. Это был мой беспорядок.
Спасибо всем за вашу помощь;)