Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Апплеты > Не работает Axis в апплете |
Автор: access 22.1.2007, 17:05 | ||
Всем здравствуйте. Проблема такая: Есть апплет, в нём - запрос к БД чере Tomcat+Axis. Когда запускаюсь под IDE(JIDEA), всё прекрасно работает. Пакую исходники в джар, рядом кладу все необходимые либы, манифест файл такой: Manifest-Version: 1.0 Class-Path: axis.jar models.jar swingx-2006_10_27.jar рисую html:
запускаю апплет. Он запускается без проблем, но при попытке получить данные от БД сыплет: Exception in thread "AWT-EventQueue-2" java.lang.ExceptionInInitializerError at org.apache.commons.discovery.log.DiscoveryLogFactory._newLog(DiscoveryLogFactory.java:94) at org.apache.commons.discovery.log.DiscoveryLogFactory.<clinit>(DiscoveryLogFactory.java:57) at org.apache.commons.discovery.jdk.JDK12Hooks.<clinit>(JDK12Hooks.java:35) at org.apache.commons.discovery.jdk.JDKHooks.<clinit>(JDKHooks.java:29) at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:366) at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:332) at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45) at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41) at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33) at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43) at org.apache.axis.client.Service.getAxisClient(Service.java:104) at org.apache.axis.client.Service.<init>(Service.java:113) at common.interfaces.WebComm.runQuery(WebComm.java:98) at gui.getTreeOrders(gui.java:612) at gui$5.actionPerformed(gui.java:1639) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission org.apache.commons.discovery.log.level read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPropertyAccess(Unknown Source) at java.lang.System.getProperty(Unknown Source) at org.apache.commons.discovery.log.SimpleLog.<clinit>(SimpleLog.java:108) ... 39 more В чём тут дело - подскажите. Если б либы были не видны - апплет вообще не загрузился бы (хотя бы из-за того же swingx-2006_10_27.jar, который появляется на форме сразу при старте). На одном из форумов многозначительно подсказали "Подпиши джарники", и убежали ). Теперь сижу, думаю, что имелось в виду. |
Автор: cromm3 22.1.2007, 17:35 |
Необходимо указать, откуда брать LogFactory укажи в archive axis.jar models.jar swingx-2006_10_27.jar может поможет...)) Как подписать апплет можно посмотреть здесь http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&target=main_panel&article=116 |
Автор: access 22.1.2007, 23:53 | ||||
Подправил html:
правильно? Далее, по указанной ссылке, подписал demo.jar и axis.jar, дошёл до правки java.policy. В примере, который должен читать файл C:/AUTOEXEC.BAT, указано добавить в java.policy
А в моём случае-то что будет? Кто куда пишет/читает? Поясните, пожалуйста, не догоняю... |
Автор: access 24.1.2007, 11:14 | ||
Всё верно, дело оказалось в подписи джаров. Просмотрел ссылку http://forum.vingrad.ru/index.php?act=modu...amp;article=116. Порылся в гугле, нашёл, народ с таким уже сталкивался:
В общем, надо подписать все джары, policy трогать не надо. Пробовал запустить из-под appletviewer - почему-то глюкавит, как и прежде. При запуске через html всё работает нормально. |
Автор: fufnf 8.2.2011, 10:03 | ||
Добрый день. У меня вопрос касательно
Не смотря на то, что на вопрос о доверии сертификату я ответил "Да", я все равно получаю ошибку: java.security.AccessControlException: access denied (java.awt.AWTPermission accessClipboard) Модифицировать файл java.policy у всех клиентов моего сайта я не могу - я думаю, что это и так понятно. Как в таком случае выдать разрешение на доступ к буферу обмена из апплета? upd.: Уже разобрался. Всем спасибо! Как сделать, чтобы работало, написал в своем блоге: http://community.terrasoft.ua/blogs/5816 |