org.apache.axiom.om.util.AXIOMUtil не может быть разрешен - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь сгенерировать некоторые заглушки для WSDL (используя xmlbeans) и продолжаю сталкиваться с некоторыми проблемами. Я использую следующую страницу:

http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients-xmlbeans.html

Единственная часть этих шагов, которую я пропускаю, это часть "client.java", потому что у меня уже есть другой готовый проект, в который я хочу подключить получившиеся jar-файлы. Вот несколько быстрых шагов:

  • Мой WSDL является экземпляром crmonline, поэтому я запускаю что-то вроде этого:

C: \ Work \ aaa2> WSDL2Java -uri https://mycrmorgname.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p crmsdk -d xmlbeans -s -o c: \ mystubfolder

  • Я строю проект, используя "муравей"

  • В моем "клиентском" проекте я ссылаюсь на 2 фляги, созданные в. \ Build \ lib

Мой проект работает нормально, когда я добавляю все ссылки на axis2 / apache и т. Д., Но когда я запускаю его через playframework, я получаю ошибки, когда попадаю на первую страницу. Первая ошибка выглядит так:

17:48:45,289 ERROR ~ Error in ControllersEnhancer. 
controllers.ProfileController.editProfile has not been properly enhanced 
(fieldAccess javassist.expr.FieldAccess@212ca458).

или что-то подобное. Прокручивая сообщение об ошибке, я вижу, что получаю следующее:

The file /app/models/MyDynamicsClient.java could not be compiled. 
Error raised is : org.apache.axiom.om.util.AXIOMUtil cannot be resolved

Теперь, я еще даже не включил ни один из своих веб-сервисов и даже не создал ни одного из моих классов ... Я в растерянности относительно того, почему это происходит. Или, если быть более точным, что именно я испортил! Я пропускаю ссылку на что-то? Выполнение поиска в AXIOMUtil говорит мне, что это должно быть в Axiom-api (у меня есть версия Axiom-api-1.2.10.jar). Я на это ссылаюсь и, похоже, не помогает. Или, может, я где-то делаю что-то не так?

Некоторые подробности о версиях:

  • Axis2 1.5.4
  • Apache-ant 1.8.3

Любая помощь будет принята с благодарностью !!

1 Ответ

0 голосов
/ 16 марта 2012

Хорошо, попробовав много разных вещей и перечитав сайты / инструкции, я понял, что я делаю не так.Или, по крайней мере, я выяснил пару вещей, которые я начал делать по-другому, что решило проблему.

Во-первых, я использовал jar-файлы из другого примера проекта для http-компонентов apache.Я не знаю, оказало ли это влияние, но я все равно скачал свежую версию и сослался на эти JARS.

Кроме того, вместо создания jar-файлов в моем проекте-заглушке и ссылки на те, которые я скопировал, всесгенерированные заглушки / классы непосредственно в существующий клиентский проект.У меня такое чувство, что это могло решить мою проблему.Или, может быть, сочетание этого и предыдущего шага, который я сделал!

Итак, мои новые шаги таковы:

  1. Убедитесь, что у вас загружены все правильные версии для необходимых компонентов.В моем случае у меня есть следующее:

    • Apache Axis 2 v 1.5.4
    • Клиент Apache HTTP-компонентов 4.1.3
    • Apache-ant 1.8.3
  2. Скопируйте все JARS из библиотек компонентов Axis2 и HTTP в ваш клиентский проект и сделайте ссылку на них.

  3. Используйте WSDL2Java для создания вашегозаглушки и классы в своем собственном проекте.

  4. Убедитесь, что проект компилируется с использованием Ant

  5. Скопируйте все созданные файлы классов в папке src висходная папка вашего клиента.

  6. Исправьте любые другие справочные выпуски и выполните сборку

К счастью, это помогло мне.

...