J'ai besoin d'en créer un, car l'interface l'exige ... quelqu'un peut-il me dire comment en créer un, car il ne semble pas y avoir de c'tor défini?
Lorsque vous importez le WSDL, vous devriez avoir une classe ObjectFactory
qui devrait avoir un tas de méthodes pour créer divers paramètres d’entrée.
ObjectFactory factory = new ObjectFactory();
JAXBElement<String> createMessageDescription = factory.createMessageDescription("description");
message.setDescription(createMessageDescription);
Voici comment je le fais. Vous devrez obtenir l'URL de l'espace de noms et le nom de l'élément à partir du code généré.
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());
Je ne sais pas pourquoi vous pensez qu'il n'y a pas de constructeur. Voir l'API .
Autre alternative:
JAXBElement<String> element = new JAXBElement<>(new QName("Your localPart"),
String.class, "Your message");
Ensuite:
System.out.println(element.getValue()); // Result: Your message