130

我需要创建其中之一,因为界面需要它。有人可以让我知道如何创建一个,因为似乎没有定义一个 c'tor 吗?

4

5 回答 5

206

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

ObjectFactory factory = new ObjectFactory();
JAXBElement<String> createMessageDescription = factory.createMessageDescription("description");
message.setDescription(createMessageDescription);
于 2011-06-27T01:45:30.120 回答
10
ObjectFactory fact = new ObjectFactory();   
JAXBElement<String> str = fact.createCompositeTypeStringValue("vik");    
comp.setStringValue(str);
CompositeType retcomp = service.getDataUsingDataContract(comp);
System.out.println(retcomp.getStringValue().getValue());
于 2010-11-19T22:46:51.050 回答
7

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

new JAXBElement(new QName("http://www.novell.com/role/service","userDN"),
                new String("").getClass(),testDN);
于 2010-04-15T21:22:34.597 回答
4

其他选择:

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

然后:

System.out.println(element.getValue()); // Result: Your message
于 2018-09-11T21:00:19.413 回答
2

我不知道你为什么认为没有构造函数。请参阅API

于 2009-06-10T11:49:24.197 回答