Передать массив длинных типов данных в JAX-WS в качестве параметра - PullRequest
2 голосов
/ 18 ноября 2011

Я пытаюсь передать массив длинных типов данных одному из моих методов webservivce.Мой метод веб-сервиса выглядит следующим образом:

public String calculate(Long[] values)
{
//my code here to process the array
}

Со стороны клиента я вызываю веб-сервис, как следует

Long[] data=new Long[1];
data[0]=1;
proxy = webService.getClient(wsdlURL)
String response=proxy.calculate(data);

Но это вызывает у меня исключение javax.xml.bind.JAXBException: class [Ljava.lang.Long;ни один из его суперкласса не известен этому контексту.

Основываясь на поиске в Google, я понимаю это из-за неспособности JAXB маршалировать массив Long.Но я не знаю, как это исправить.Любая помощь?

Ответы [ 2 ]

0 голосов
/ 02 июля 2013

Попробуйте использовать ArrayList() на стороне клиента:

List<Long> data = new ArrayList<Long>();
data.add(new Long(1));
data.add(new Long(5));
proxy = webService.getClient(wsdlURL)
String response=proxy.calculate(data);
0 голосов
/ 05 марта 2012

Не уверен, но, может быть, BigInteger подойдет вам?Похоже, что это отображение по умолчанию из целого числа xml в тип java.

...