2014-09-03 3 views
0

я следовал этой статье: http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/вызова WSDL на основе вебсервис внутри Alfresco

так у меня есть:

, который служит как конечная точка.

с другой стороны у меня есть клиент, который я производимый с wsimport:

это прекрасно работает в eclispe без вовлечения под открытым небом. однако, я хочу вызвать веб-сервис из alfresco (например, с помощью Java-скрипта)

Я попытался скопировать материал клиентской стороны в файл amp и вызвать его из веб-страницы, но это не сработало!

Caused by: java.lang.IncompatibleClassChangeError: Class com.ibm.wsdl.DefinitionImpl does not implement the requested interface javax.wsdl.extensions.AttributeExtensible

1 - есть более элегантный способ настроить доступ к WSDL, определив пружинный боб (весна-Ws) или такой

2 - почему он не работает? полный след: http://pastebin.com/ak1qzygA

с использованием под открытым небом сообщество 5.0.a

благодарит

+2

http://stackoverflow.com/questions/1980452/what-causes-java-lang-incompatibleclasschangeerror. Вопрос о запасной емкости? – Abhin

+0

Я удалил axis-wsdl4j-1.5.1.jar из каталога lib - теперь это работает ... но это очень странно для меня. – user1429166

+1

Возможно, были конфликты с другими wsdl4j.jar; ось-wsdl4j выбрала приоритет над другим. С axwsdl4j jar ушли все работает сейчас ?? – Abhin

ответ

0

Вы увидите IncompatibleClassChangeError обычно при зависимостях/библиотека банка изменилась. Следовательно, метод/код, зависящий от библиотеки, должен быть перекомпилирован в отношении изменений.

Угадайте проблему здесь, это связано с неправильным употреблением jar-фальшивки или старой версией баночки или одной банки с приоритетом по сравнению с другой. Взгляд в банки, содержащие класс «com.ibm.wsdl.DefinitionImpl» в вашем пути к классам, должен быть полезен.

Смежные вопросы