|
|
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Привет всем есть вебсервис (совершенно сторонний) есть приложение наше, откуда дергается этот вебсервис. Классы нагенерены wsimport. Приложение под управлением weblogic. Собирается все мавеном. В приложении веб сервис вызывается и отрабатывает. Написал простой Unit test использующий те же самые классы. И началось.... Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ошибка: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. спрашивается а причем здесь вообще weblogic ???? Зависимости от него конечно есть, но они provided... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 14:44:42 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Michael Ponomarev, provided это значит "уже есть в рантайме" (т.е. в контейнере). А там где тест выполняется, видимо нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 14:49:41 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Лагман, спрашивается почему и откуда подхватываются weblogic либы на этапе test ??? когда есть jaxws-rt или может кроме jaxws-rt надо еще что-то подписать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 14:55:34 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Michael Ponomarevспрашивается почему и откуда подхватываются weblogic либы на этапе test ??? когда есть jaxws-rt или может кроме jaxws-rt надо еще что-то подписать ? Классы weblogic где-то себя зарегали. Возьмите любой класс указаный в stacktrace и в рантайме посмотрите откуда он загрузился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 15:01:24 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, если я правильно понял то сделать вот так например: Код: java 1. в случае обычной работы приложения берет privided, т.е. Код: java 1. в случае теста берет из мавен репозитория Код: java 1. а вывода сделать отсюда не могу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 15:24:24 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
http://grepcode.com/file/repo1.maven.org/maven2/com.sun.xml.ws/jaxws-rt/2.1.4/com/sun/xml/ws/wsdl/parser/DelegatingParserExtension.java http://grepcode.com/file/repo1.maven.org/maven2/com.sun.xml.ws/jaxws-rt/2.1.4/com/sun/xml/ws/api/wsdl/parser/WSDLParserExtension.java#WSDLParserExtension http://grepcode.com/file/repo1.maven.org/maven2/com.sun.xml.ws/jaxws-rt/2.1.4/com/sun/xml/ws/wsdl/parser/WSDLParserExtensionFacade.java Из этих исходников видно, что в JAX-WS предусмотрен некий механизм расширений, который могут что-то делать с контентом WSDL. Регистрируются они в WSDLParserExtensionFacade. Отсюда и надо плясать. Просто поройтесь в джарниках вашего апп сервера, найдите там недостающий класс, и подложите его в classpath тестов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 15:28:17 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
лучше было проверить вот этот класс weblogic.wsee.jaxws.framework.policy.WSDLParserExtension А ещё найти в каком архиве живет com/bea/xml/XmlException ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 15:29:57 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, для weblogic.wsee.jaxws.framework.policy.WSDLParserExtension берется из тех же мест com/bea/xml/XmlException живет в c:\Oracle\Middleware\modules\com.bea.core.xml.beaxmlbeans_2.2.0.0_2-5-1.jar что делать дальше - не пойму... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 15:43:43 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Пишут что xmlbeans можно из мавена стянуть. Поищите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 15:57:07 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Michael PonomarevBlazkowicz, для weblogic.wsee.jaxws.framework.policy.WSDLParserExtension берется из тех же мест com/bea/xml/XmlException живет в c:\Oracle\Middleware\modules\com.bea.core.xml.beaxmlbeans_2.2.0.0_2-5-1.jar что делать дальше - не пойму...Ну смотрите, ваши тесты видят вот этот класс: weblogic.wsee.policy.framework.PolicyAssertionFactory Но не видят вот этот: com.bea.xml.XmlException Поэтому попробуйте сделать следующее: 1) Поймите откуда к вам попадает класс PolicyAssertionFactory - где валяется этот джарник? Если вы запускаете тесты вне контейнера, то он скорее всего зарегистрирован где-то либо в репозитории Maven, либо в его classpath. 2) Когда разберетесь, подложите таким же образом джарник, который содержит XmlException. То есть этот джарник надо будет либо зарегистрировать через Maven в его репозитории, и подложить со скоупом test, либо же просто добавить его в classpath. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 16:07:10 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
svenomMichael PonomarevBlazkowicz, для weblogic.wsee.jaxws.framework.policy.WSDLParserExtension берется из тех же мест com/bea/xml/XmlException живет в c:\Oracle\Middleware\modules\com.bea.core.xml.beaxmlbeans_2.2.0.0_2-5-1.jar что делать дальше - не пойму...Ну смотрите, ваши тесты видят вот этот класс: weblogic.wsee.policy.framework.PolicyAssertionFactory Но не видят вот этот: com.bea.xml.XmlException Поэтому попробуйте сделать следующее: 1) Поймите откуда к вам попадает класс PolicyAssertionFactory - где валяется этот джарник? Если вы запускаете тесты вне контейнера, то он скорее всего зарегистрирован где-то либо в репозитории Maven, либо в его classpath. 2) Когда разберетесь, подложите таким же образом джарник, который содержит XmlException. То есть этот джарник надо будет либо зарегистрировать через Maven в его репозитории, и подложить со скоупом test, либо же просто добавить его в classpath. Michael PonomarevBlazkowicz, Код: java 1. в случае обычной работы приложения берет privided, т.е. Код: java 1. в случае теста берет из мавен репозитория Код: java 1. Вот я закоммичу код с моими подложенными jar (в м2-репозиторий либо в cp), а что будут делать другие разработчики ? И все-таки я не понимаю как цепляются библиотеки вебложджика? про механизм extension видел, физически откуда код узнает о существовании либ веблоджика, делает фуллскан m2_home ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 16:25:12 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Michael Ponomarev , Ну ок, то есть у вас в репозитории уже лежит одна либа web logic. Естественно, она имеет определнные зависимости на другие джарники, а их у вас нет ни в репозитории, ни в pom.xml. Вот и источник проблемы. Зрегистрируйте недостающие джарники в maven, потом подправьте pom.xml, и все заработает. Что делать другим разработчикам - кладете необходимый джарник в SVN вместо со скриптом по его установке. Все. Если хотите понять когда загружается определнный класс - подключитесь дебаггером и поставьте class load breakpoint. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 16:32:13 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Michael Ponomarevспрашивается а причем здесь вообще weblogic ???? Зависимости от него конечно есть, но они provided... http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope provided This is much like compile, but indicates you expect the JDK or a container to provide the dependency at runtime. For example, when building a web application for the Java Enterprise Edition, you would set the dependency on the Servlet API and related Java EE APIs to scope provided because the web container provides those classes. This scope is only available on the compilation and test classpath , and is not transitive. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 16:58:15 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 17:07:18 |
|
||
|
тестирование web service and maven
|
|||
|---|---|---|---|
|
#18+
Michael Ponomarev, runtime тоже кладет в test classpath. Они все кладут, за исключением system. Так что лучше проблему правильно разрулить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 17:31:49 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37926768&tid=2131100]: |
0ms |
get settings: |
16ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
68ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 317ms |
| total: | 539ms |

| 0 / 0 |
