* * * Редактировать: Проблема решена — по крайней мере, на моей машине (компьютерах) * * *
Я взял пример из темы, которую нашел здесь и начал изучать, что происходило с PowerBuilder, когда возникали эти ошибки — как во время импорта АТС, так и во время выполнения, если вы запускали пример приложения.
Один человек в треде упомянул проблему. был связан с libeay32.dll и ssleay32.dll. Это не первый раз, когда OpenSSL дает мне возможность использовать эти компоненты — мой жесткий диск завален ими в различных папках приложений. Эти библиотеки DLL загружаются PB при импорте расширения PBWSCLIENT105.PBX или приложением, использующим связанный PBD во время выполнения. Конечно, с помощью ProcMon я смог подтвердить, что < strong>libeay32.dll и ssleay32.dll загружались из Windows\System32, в отличие от версии тех же DLL, расположенных в структуре папок PB. Судя по всему, это проблема. Я переименовал две библиотеки DLL, расположенные в System32, чтобы эффективно удалить их, запустил PB, и импорт PBWSCLIENT105.PBX работал как по волшебству.
У меня похожая проблема с нашей установкой PB 10.5. Импорт файла PBX дает мне сообщение об ошибке:
---------- Import PB Extension:
Importing C:\Program Files\Sybase\Shared\PowerBuilder\pbwsclient105.pbx - Error: The file is not a valid dll or pbx file.
---------- Finished
Сначала я подумал, что проблема в том, что файлы были повреждены и т. д. Однако я установил PB 10.5 на чистую машину (фактически на виртуальную машину) вместе с .Net 2.0 SDK, и импорт работал безупречно; также я смог вызвать веб-службу. У каждого разработчика в моей группе есть одна и та же проблема на своих машинах, но если они используют «чистую» машину или виртуальную машину с установленным PB (и, возможно, несколькими другими приложениями), импорт файла PBX работает без проблем.
На данный момент я пытаюсь определить, что в среде вызывает проблему, но пока не смог. Что интересно, как вы заметили, так это то, что если вы откроете пример приложения, вы увидите точно такие же импортированные библиотеки; однако вы получаете ошибку во время выполнения. Все это действительно указывает на то, что что-то экологически отсутствует или неправильно зарегистрировано. Итак, если у вас есть возможность использовать виртуальную машину, я рекомендую это как временное решение.
Я добавлю здесь одну вещь: если вы используете Vista или Windows 7 в качестве своей виртуальной машины, импорт библиотеки работает нормально, но у меня были проблемы с созданием прокси-сервера на стороне клиента с использованием механизма веб-службы .Net. Наконец я обнаружил, что в фоновом режиме инструмент SDK WSDL.exe выполняется для WSDL для службы, чтобы создать клиентский прокси-сервер .Net. Оказывается, контроль доступа пользователей Vista/Win7 не позволял запускать WSDL.EXE. Я запустил PowerBuilder «от имени администратора», и все работало, как и ожидалось, с точки зрения создания прокси-сервера на стороне клиента.
Если вы обнаружите что-нибудь о том, почему не работает импорт АТС, мне было бы интересно об этом узнать!
person
Peter Meyer
schedule
16.12.2009