JAXBElement <String> 객체를 어떻게 인스턴스화합니까?


120

인터페이스에 필요하므로이 중 하나를 만들어야합니다 ... 생성자가 정의되지 않은 것 같기 때문에 누군가 생성 방법을 알려주시겠습니까?

답변:


179

WSDL을 가져올 때 ObjectFactory다양한 입력 매개 변수를 생성하기위한 여러 메소드 가 있어야하는 클래스가 있어야합니다.

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

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

7

방법은 다음과 같습니다. 생성 된 코드에서 네임 스페이스 URL과 요소 이름을 가져와야합니다.

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

6
JAXBElement 생성자를 사용하는 것보다 아래에 언급 된 ObjectFactory 클래스를 사용하는 것이 더 좋습니다
Harish

3

다른 대안 :

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

그때:

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.