JAXBElement <String>オブジェクトをインスタンス化するにはどうすればよいですか?


120

インターフェースで必要なため、これらのいずれかを作成する必要があります...定義されたcttorがないように見えるため、作成方法を誰かに教えてもらえますか?

回答:


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.