2009-06-10 7 views
85

Tôi cần phải tạo một trong các giao diện này vì giao diện yêu cầu nó ... ai đó có thể vui lòng cho tôi biết cách tạo một cái, vì dường như không có định nghĩa c'tor?Làm cách nào để tạo một đối tượng JAXBElement <String>?

+13

xin lỗi, tôi là kẻ ngốc. – miguel

+13

+1 như một sự an ủi vì nó vẫn là một câu hỏi hay – Damo

+2

Hầu như -1. Nếu bạn là một thằng ngốc nên tôi :). Thay vì +1 để đặt câu hỏi đã giúp tôi. ;) – KjetilNordin

Trả lời

126

Khi bạn nhập khẩu các WSDL, bạn nên có một lớp ObjectFactory mà cần phải có loạt các phương pháp để tạo ra các thông số đầu vào khác nhau.

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

Tôi không biết tại sao bạn nghĩ không có hàm tạo. Xem the API.

5

Đây là cách tôi thực hiện. Bạn sẽ cần lấy URL không gian tên và tên phần tử từ mã được tạo của bạn.

new JAXBElement(new QName("http://www.novell.com/role/service","userDN"), 
       new String("").getClass(),testDN); 
+3

Itse tốt hơn để sử dụng lớp ObjectFactory như đã đề cập dưới đây thay vì sử dụng hàm tạo JAXBElement – Harish

5
ObjectFactory fact = new ObjectFactory(); 
JAXBElement<String> str = fact.createCompositeTypeStringValue("vik");  
comp.setStringValue(str); 
CompositeType retcomp = service.getDataUsingDataContract(comp); 
System.out.println(retcomp.getStringValue().getValue());