unmarshalling сгенерированный мыльный ответ оси (multiref содержащий) с jaxb - PullRequest
2 голосов
/ 05 ноября 2008

Я использую веб-сервис оси 1.4, который возвращает мыльные ответы, которые я хочу демаршировать в мои доменные объекты, используя аннотации jaxb. Мои начальные тесты работали очень хорошо, пока некоторые из возвращенных сообщений не имели элементов multiRef. Объекты, которые были упорядочены с использованием multiRef, обнаруживались как нулевые в моих аннотированных объектах модели на стороне клиента.

У меня вопрос: поддерживает ли JAXB немаршальные мыльные ответы с элементами multiRef? Если так, то как? и если нет, кто-нибудь знает, как лучше распаковать мыльные ответы оси 1.4 в мою модель домена в Java?

Ответы [ 3 ]

1 голос
/ 03 декабря 2008

В случае веб-сервисов JAXB приходит не один, а как часть привязки данных в клиентской среде ws. Поэтому я предполагаю, что ваш вопрос заключается в том, как использовать JAXB в качестве привязки данных в оси 1.4. В общем, я думаю, что не существует простого способа достичь этого, взгляните на следующую ветку в списке рассылки оси: Укажите сгенерированные JAXB сложные типы для веб-службы Axis .

Если вы можете перейти на использование веб-службы с помощью axis2, то это будет намного проще, поскольку axis2 поставляется с подключаемой архитектурой привязки данных, включая интегрированную реализацию jaxb.

0 голосов
/ 11 июля 2009

если вы имеете дело с MultiREF, то вы, вероятно, используете сервис RPC. JAXB подходит для веб-сервисов в стиле документа.

Для использования службы в стиле RPC не используйте никакие внешние привязки, такие как JAXB, JIBX или

используйте простой JAX-RPC, доступна задача Ant wsdl2java для создания заглушек и укажите опция привязки.

0 голосов
/ 14 января 2009

Если сторона веб-службы Axis также находится под вашим контролем, возможно, вы можете установить для свойства org.apache.axis.AxisEngine.PROP_DOMULTIREFS значение false. В этом случае Axis не должен создавать элементы multiRef. Я использовал это свойство на стороне клиента Axis, надеюсь, оно работает на стороне сервера так же.

...