Как получить SOAP / WSDL из Delphi XE WebService в IIS 7.5? - PullRequest
5 голосов
/ 18 апреля 2011

У меня есть проблема, упомянутая ниже:

Не работают приложения нативной веб-службы Delphi.IIS 7, кажется, удаляет информацию о пути

Я сделал все, что изложено в ответе 2 (см. Ниже или этот URL) Не помогло - теперь я вообще не могу запустить DLL - Firefox хочетскачать файл, запрос не передается в ISAPI.Я могу только запустить процесс WS ISAPI, явно разрешив мою DLL-библиотеку webService в сопоставлениях обработчиков для VD - тогда откроется страница WS по умолчанию, но SOAP и WSDL никогда не генерируются, как объяснено в вышеупомянутом посте.

Не работают приложения нативной веб-службы Delphi.Похоже, что IIS 7 извлекает информацию о пути

"... Я никогда не смогу получить доступ к SOAP. Таким же образом импортер WSDL также не может получить доступ к SOAP ... Проблема заключалась в том, чтоЯ создал конкретное сопоставление сценариев в сопоставлениях обработки для библиотеки ISAPI. Это заставило IIS перенаправить все запросы к определенной библиотеке DLL, поэтому любой запрос, содержащий часть пути к информации, был проигнорирован. Путь к информации был удален.

Проблема заключалась в том, что я создал определенное сопоставление сценариев в Обработка сопоставлений для библиотеки ISAPI, что привело к тому, что IIS перенаправил все запросы в определенную библиотеку DLL, поэтому любой запрос, содержащий часть пути к информации, был проигнорирован.. Информационный путь был удален.

Что мне действительно нужно было сделать, это просто включить разрешение функции «Выполнить» для сопоставления обработчика сопоставления модуля ISAPI-dll. Это сопоставление модуля доступно для виртуального каталога, как только вы получитеразрешены неопределенные модули ISAPI (или модули CGI, если это веб-тип)расширение сервера, которое вы создали).

Чтобы исправить мою проблему, мне нужно было

  1. Удалить каталог, чьи сопоставления обработки я испортил.

  2. Поскольку я уже разрешил неуказанные модули ISAPI (выберите «Редактировать настройки функций» в апплете «Ограничения ISAPI и CGI» в разделе «IIS» сервера), мне нужно было добавить новый виртуальный каталог для соответствующего веб-сайта (Здесь я воссоздал каталог, который я удалил на предыдущем шаге 1.

  3. Из апплета Handling Mappings для виртуального каталога вы, вероятно, отключили отображение обработки ISAPI-dll.Выберите его и выберите параметр «Редактировать права доступа к функциям» справа.Установите флажок «Выполнить». "

1 Ответ

3 голосов
/ 18 апреля 2011

Я прошел. \ Windows \ System32 \ inetsrv \ config \ applicationHost.config и удалил записи для всех моих виртуальных дисков и библиотек DLL, затем удалил и переустановил IIS и удостоверился, что установил поддержку расширений ISAPI и любые другие его функции.необходимо.

Затем в корне webServer я установил обработчики CGI-ISAPI, чтобы разрешить все неизвестные ISAPI.dll, создал новый VD и унаследовал обработчики от родителя без явного разрешения любого из моих модулей WS - теперь процесс ISAPI запускаетсяи выдает WSDL / SOAP.

Проблема в том, что вы должны разрешить все неизвестные библиотеки ISAPI - не особенно безопасные, если вы развертываете на уязвимом общедоступном веб-сервере.

MNG

...