如何实例化 JAXBElement < String > 对象?

我需要根据接口的需要创建其中一个。有没有人能告诉我怎么创建一个,因为似乎没有一个定义?

123231 次浏览

我不知道为什么你认为没有构造函数。参见 空气污染指数

我是这么做的。您将需要从生成的代码中获取名称空间 URL 和元素名称。

new JAXBElement(new QName("http://www.novell.com/role/service","userDN"),
new String("").getClass(),testDN);
ObjectFactory fact = new ObjectFactory();
JAXBElement<String> str = fact.createCompositeTypeStringValue("vik");
comp.setStringValue(str);
CompositeType retcomp = service.getDataUsingDataContract(comp);
System.out.println(retcomp.getStringValue().getValue());

当您导入 WSDL 时,您应该有一个 ObjectFactory类,该类应该有一堆用于创建各种输入参数的方法。

ObjectFactory factory = new ObjectFactory();
JAXBElement<String> createMessageDescription = factory.createMessageDescription("description");
message.setDescription(createMessageDescription);

其他选择:

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

然后:

System.out.println(element.getValue()); // Result: Your message