TheMagican
Grünschnabel
Nabend allerseits,
ich bin gerade dabei mehrere WebServices (SOAP) zu schreiben. Da das ganze möglichst flexibel sein soll hab ich die WebServices als einzelne Projekte angelegt, die zur Laufzeit erst eingebunden werden.
Ich möchte jetzt für jeden WebService, für jeden Methodenaufruf etwas mit-loggen und bin dabei auf java.lang.reflect.Proxy gestoßen. Die Klasse wäre super geeignet für mich, da ich ja eine zentrale Anlaufstelle für alle Methodenaufrufe hätte. Das Problem mit dem Proxy ergib sich jetzt daraus, dass ich ja die zur Laufzeit erstellte Proxy-Klasse verwenden muss um den Endpoint zu publizieren. Leider braucht der Endpoint aber die Annotationen der WebService-Klasse um den Namensraum und den Service-Namen festzulegen. Der erstellte Proxy übernimmt aber leider diese Annotationen nicht.
Weiß jemand, wie man der Proxy-Klasse beibringt, die Annotationen des Objekts, das "hinter" dem Proxy liegt, zu übernehmen? Eine Lösung, wie man zur Laufzeit Annotationen hinzufügt / ändert, wäre auch ok...
Danke im Voraus!
Andi
ich bin gerade dabei mehrere WebServices (SOAP) zu schreiben. Da das ganze möglichst flexibel sein soll hab ich die WebServices als einzelne Projekte angelegt, die zur Laufzeit erst eingebunden werden.
Ich möchte jetzt für jeden WebService, für jeden Methodenaufruf etwas mit-loggen und bin dabei auf java.lang.reflect.Proxy gestoßen. Die Klasse wäre super geeignet für mich, da ich ja eine zentrale Anlaufstelle für alle Methodenaufrufe hätte. Das Problem mit dem Proxy ergib sich jetzt daraus, dass ich ja die zur Laufzeit erstellte Proxy-Klasse verwenden muss um den Endpoint zu publizieren. Leider braucht der Endpoint aber die Annotationen der WebService-Klasse um den Namensraum und den Service-Namen festzulegen. Der erstellte Proxy übernimmt aber leider diese Annotationen nicht.
Weiß jemand, wie man der Proxy-Klasse beibringt, die Annotationen des Objekts, das "hinter" dem Proxy liegt, zu übernehmen? Eine Lösung, wie man zur Laufzeit Annotationen hinzufügt / ändert, wäre auch ok...
Danke im Voraus!
Andi