Dynamic Java Bean von xsd
Ich habe zwei Anwendungen, eine als Client und die andere als Server. In der Serveranwendung generiere ich ObjectFactory und Klassen mit xjc von Eclipse. Aus diesem Grund heißt eine dieser Klassen widgetEvenCall. Aus dem xsd:
...
<xs:element name="widgetEventCall">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="tns:widgetEventDescriptor" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:widgetParameter" />
</xs:sequence>
</xs:complexType>
</xs:element>
JAXB xjc generiert die Klassen WidgetEventCall, WidgetEventDescriptor und WidgetParameter mit ihren Gettern und Setters.
Die Client-Anwendung, die weder diese Klassen noch die ObjectFactory besitzt, ruft remote einen Dienst auf der Server-Anwendung auf und erhält als Ergebnis eine XML wie:
. . .
<widgetEventCall>
<widgetEventDescriptor> ... </widgetEventDescriptor>
<widgetParameter>...</widgetParameter>
<widgetParameter>...</widgetParameter>
. . .
</widgetEventCall>
Glücklicherweise hat die Client-Anwendung Zugriff auf die .xsd-Definition. Meine Frage ist: Ist es möglich, mit dem XML-Inhalt und der XSD-Definition die Objekte für widgetEventCall, widgetEventDescriptor und widgetParameter so zu erstellen, als ob sie von xjc erstellt wurden, einschließlich Gettern und Setzern, wobei die Clientanwendung ohne Kenntnisse über sie verwendet wird ausschließlich Reflexion? Gibt es einen automatisierten Weg, um dies zu erreichen?
ein Ziel ist es, dieses Ergebnis in einer JSP-Datei zu verwenden, d. h. das Objekt in die Anfrage zu stellen und wie widgetEventCall.widgetParameter [0] .someProperty darauf zuzugreife
Danke im Voraus
Joan.