Dynamische java-bean von xsd

Ich habe zwei Anwendungen, fungiert als client und der andere als server. In der server-Anwendung, die ich generieren ObjectFactory und-Klassen mit xjc von Eclipse. Als Ergebnis einer dieser Klassen aufgerufen wird widgetEvenCall. Aus der xsd-Datei:

...
<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 deren Getter und setter.

Die client-Anwendung, die nicht haben, weder die Klassen noch die ObjectFactory, Anrufe aus der Ferne ein Dienst auf server-Anwendung, bekommen als Ergebnis eine XML wie:

. . .
<widgetEventCall>
    <widgetEventDescriptor> ... </widgetEventDescriptor>
    <widgetParameter>...</widgetParameter>
    <widgetParameter>...</widgetParameter>
    . . .
</widgetEventCall>

Glücklicherweise client-Anwendung Zugriff auf die .xsd-definition. Meine Frage ist: Ist es möglich, dass der xml-Inhalt und die xsd-definition zu erstellen, die Objekte für widgetEventCall, widgetEventDescriptor und widgetParameter wie wenn Sie erstellt wurden, xjc, einschließlich Getter und setter, halten Sie die client-Anwendung ohne wissen über Sie, indem es nur die Reflexion? Gibt es einen automatisierten Weg, um das zu erreichen?

mein Ziel ist es, mit diesem Ergebnis in eine JSP-Datei, d.h. setzen Sie das Objekt in den request und auf es wie widgetEventCall.widgetParameter[0].someProperty, so brauche ich die Getter generiert werden.

Vielen Dank im Voraus.

Joan.

InformationsquelleAutor Joan | 2010-10-19
Schreibe einen Kommentar