07Jan
In einem existierenden Java2 1.4 Projekt sollen generierte XFire-Clientklassen verwendet werden. Der XFire-Codegenerator verwendet JAXB2 und ist damit auf einige Java2 5.0-Features wie Annotations angewiesen. Der Umstieg auf Java2 5.0 ist in dem Projekt keine Option und deshalb habe ich eine Möglichkeit gebraucht, die generierten Klassen mit Java2 1.4 zu verwenden.
Nach ein paar Recherchen habe ich mich für die Verwendung des freien Retrotranslator-Tools entschieden und eine Proof-Of-Concept-Implementierung realisiert. Retrotranslator kann sowohl zur Compile-Zeit als auch zur Laufzeit den Java2 5.0 Bytecode in Java2 1.4 Bytecode umwandeln. Für den eigenen Code habe ich mich für die Umwandlung zur Compilezeit entschieden und für verwendeten Code Dritter für die Umwandlung zur Laufzeit (Just in Time Compilierung).
Artikel vollständig lesen »
07Jan
Wenn man in Sharepoint einen benutzerdefinierten Inhaltstyp erstellt und diesen einer Liste zuweist, muss man sich im Idealfall nicht um die Formulare für das Anlegen, Anzeigen und Editieren der Listeneinträge kümmern - dies erledigt Sharepoint anhand der zum Inhaltstyp zugehörigen Spalten freundlicherweise automatisch für uns.
Nun kann es aber passieren, dass wir mit dem von Sharepoint generierten Standardformular nicht zufrieden sind (sei es, weil uns das Layout nicht gefällt oder weil wir z.B. zusätzliche Validierungen und/oder Buttons einbauen wollen…). Auch für diesen Fall wurde vorgesorgt - wir können ein eigenes aspx-Formular erstellen (ja, ich weiß, man könnte auch Infopath nehmen…) und für das Anlegen, Anzeigen oder Editieren der Listeneinträge verwenden. Allerdings habe ich in der Benutzeroberfläche in Sharepoint keine Stelle gefunden, an der man dem Inhaltstyp mitteilen könnte, welche Formulare er jetzt verwenden soll. Hier kann man aber glücklicherweise mit ein paar Zeilen Quellcode (z.B. in einer Konsolenanwendung) Abhilfe schaffen:

Es empfiehlt sich, die Formulare unterhalb des Sharepoint LAYOUTS Verzeichnisses (standardmäßig C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS) abzulegen, dies ist aber nicht erforderlich.
Natürlich kann auch z.B. nur für das Anzeigeformular eine eigene aspx-Datei verwendet werden - dann bleiben die restlichen Properties einfach leer (dies ist der Standard) bzw. werden gar nicht erst gesetzt.
Damit das Ganze nicht zu einfach wird, gibt es zum Schluss noch einen kleinen Pferdefuß: Wenn der Inhaltstyp schon einer Liste zugeordnet ist, muss er von der Liste entfernt und wieder zugeordnet werden, damit die Einstellung in dieser Liste wirksam wird!
07Jan
Das Webservice Framework Axis2 von Apache steht seit 2005 in der Version 2 zur Verfügung und bietet einige Vorteile gegenüber der Vorgängerversion. Aus meiner Sicht sind es vor allem Performance Steigerung, höhere Flexibilität beim Deployment von Services und eine verbesserte Unterstützung von aktuellen Standards, die einen Einsatz von Axis2 sinnvoll macht.
Anhand eines Beispieles soll im Folgenden schrittweise gezeigt werden, wie eine einfache Axis2 Anwendung mit Eclipse und Web Tools Platform 2.0.1 entwickelt werden kann.
Für dieses Beispiel wird benötigt:
- WTP in Version 2.0.1 (http://www.eclipse.org/webtools)
- Tomcat 5.5 (http://tomcat.apache.org)
- AXIS2 Framework 1.2 als Standard Binary Distribution (http://ws.apache.org/axis2/download.cgi)
Vorbereitung im Eclipse:
- Tomcat einbinden (Preferences > Server > Installed Runtimes)
- Axis2 einbinden (Preferences > Webservices > Axis2 Preferences > Axis2 Runtime Location)
Erstellen einer Anwendung
- Neues DynamicWeb-Projekt anlegen und Axis2 Funktionalität einbinden (File -> New -> Other… -> Web -> DynamicWeb Project)

- Eigene Serviceklasse erstellen und implementieren. (File -> New -> Class) Beispiel:

-
Webservice erstellen (File -> New -> Other… -> Web Services -> Web Service) . Im Wizard die Serviceklasse auswählen und Webservice Type: „ Bottom up Java bean Web Service“; Server: „Tomcat v5.5 Server“ ; WICHTIG Web Service Runtime: „Apache Axis2″. Optional kann ein Testclient erstellt werden.

- Service.xml erzeugen lassen oder eine Vorhandene einbinden
- Server starten, Anwendung deployen und testen. Unter “http://localhost:8080/WebserviceTest/” steht dann eine Administrationsoberfläche von Apache zur Verfügung, auf der alle Services aufgelistet sind.
- Optional kann ein Testclient erstellt werden. (New > ohter > Web Services > Web Service Client)
Link Tipp: Eclipse Plug-In zur Codegenerierung für Axis2 (http://ws.apache.org/axis2/tools/1_2/eclipse/wsdl2java-plugin.html)