Как создать экземпляр объекта JAXBElement <String>? - PullRequest
104 голосов
/ 10 июня 2009

Мне нужно создать один из них, как того требует интерфейс ... Может кто-нибудь, пожалуйста, дайте мне знать, как его создать, так как кажется, что он не определен?

Ответы [ 5 ]

157 голосов
/ 27 июня 2011

Когда вы импортировали WSDL, у вас должен быть класс ObjectFactory, в котором должно быть множество методов для создания различных входных параметров.

ObjectFactory factory = new ObjectFactory();
JAXBElement<String> createMessageDescription = factory.createMessageDescription("description");
message.setDescription(createMessageDescription);
6 голосов
/ 16 апреля 2010

Вот как я это делаю. Вам нужно будет получить URL-адрес пространства имен и имя элемента из вашего сгенерированного кода.

new JAXBElement(new QName("http://www.novell.com/role/service","userDN"),
                new String("").getClass(),testDN);
5 голосов
/ 20 ноября 2010
ObjectFactory fact = new ObjectFactory();   
JAXBElement<String> str = fact.createCompositeTypeStringValue("vik");    
comp.setStringValue(str);
CompositeType retcomp = service.getDataUsingDataContract(comp);
System.out.println(retcomp.getStringValue().getValue());
2 голосов
/ 10 июня 2009

Я не знаю, почему вы думаете, что нет конструктора. См API .

1 голос
/ 12 сентября 2018

Другая альтернатива:

JAXBElement<String> element = new JAXBElement<>(new QName("Your localPart"),
                                                String.class, "Your message");

Тогда:

System.out.println(element.getValue()); // Result: Your message
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...