JAX-WS: Wie ausgeschlossen "Mitglied/Feld" in ein Antwort-Objekt (WS Response), die übernommen wird?

Ich habe einen WebService, der gibt als Ergebnis den Aufruf des Web-Service eine ResponseObject genannt "CustomerResponse". Wenn ich die Implementierung dieses Objekt "from scratch" alles gut funktioniert: Meine Implementierung nur in diesem Fall enthält alle benötigten "Einfachen Typen" wie Zeichenketten, ganze zahlen, aber KEINE Objekt-Referenzen/Assoziationen.

Jedoch, was ich tun wollte ist, "reuse" vorhandenen Objekte. Ich habe in meinem domain-Modell eine " Customer " - Objekt, das verwendet wird, in der Anwendung selbst. Statt dumm zu mehr oder weniger Klonen der Customer in der "CustomerReponse" Objekt (durch manuelle Eingabe wieder alle Mitglieder/- Felder), wollte ich auf Basis der CutomerResponse Objekt auf der Customer Objekt durch die Erweiterung:

class CustomerResponse extends Customer

==> Das Problem ist, dass jetzt CustomerResponse enthält einige "interne" Felder, die geerbt wurden, aus der Customer Objekt (wie DatabaseID -, Sicherheits-Sachen), dass ich nicht wollen, zu setzen, die über die Web-Service. Außerdem (und das ist derzeit das Hauptproblem") Customer enthält auch eine Menge von "Objekt-Referenzen/Assoziationen", um andere Objekte wie Address, Orders, History dass ich nicht wollen, zu setzen über den Webservice entweder. (Es scheint, dass Apache CXF "wertet" die ganze Objectgraph und versucht Sie in die ResponseObject...)

==> Ist es möglich, zu "Erweitern" WebService-Response-Objekte basierend auf existierenden Objekten und irgendwie ausschließen einige "Mitglieder/Felder" der erweiterte supertyp? (Also ich will nicht ausschließen, dass einige Mitglieder (wie die DatabseID) und alle von der "Objekt-Assoziationen" wie (Anschrift/Bestellung/Histroy)..
Wie kann ich acomplish dies, mit dem, was Anmerkungen und Verfahren?

Vielen Dank!!
Jan

InformationsquelleAutor jan | 2009-11-14
Schreibe einen Kommentar