2012-02-07 2 views
1

Я создал файл WSDL и в классе Client WS пытаюсь отправить HashMap в качестве параметра следующим образом:java.util.HashMap не может быть приведен к org.apache.axiom.om.OMElement

HashMap<String, ArrayList<User>> map = new HashMap<String, ArrayList<User>>(); VerifyStub stub = new VerifyStub(); Verify vu = new Verify(); vu.setHmap(map);

И я столкнулся с вышеупомянутым сообщением об ошибке «java.util.HashMap не может быть передан в org.apache.axiom.om.OMElement».

Могу ли я узнать, могу ли я преобразовать HashMap в OMElement.

ответ

2

Вы не можете передавать коллекции, такие как HashMap, через интерфейс wsdl.

В wsdl отсутствует сопоставление типов сбора.

Ваш лучший выбор для передачи таких вещей - передать Массивы. Это может означать дополнительный слой кода оболочки для переноса ваших данных на уровень webservice.

Эта связь, в то время точно не ваш случай проливает некоторый свет на использовании коллекций в WSDL,

http://www.ibm.com/developerworks/webservices/library/ws-tip-coding/index.html

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