Jaxb und das Generieren von WebServices in Java

Generiert man aus einer Klasse in der man Jaxb-Annotations verwendet einen WebService bekommt man häufig mit unerwünschten JaxbElements zu tun. Um diesen Typ in den generierten Klassen zu vermeiden hilft dieses Tutorial.

Download ([downloadcounter(JAXB_und_Webservices.pdf)]x heruntergeladen)

IBM BPM 7.5 Video Tutorials von Neil Kolban

Ich bin ja mittlerweile eine großer Fan von Videotutorials geworden und scheinbar nicht der einzige der mit Freuden auf diesen Zug aufspringt. Neil Kolban, ein amerikanischer IT Specialist der IBM, veröffentlicht, wie ich neulich herausgefunden habe, regelmäßig Videos auf Vimeo zum “IBM Business Process Manager 7.5“.

Den Link möchte ich euch natürlich nicht vorenthalten! Viel Spaß beim Anschauen:

http://vimeo.com/groups/ibmbpm/videos

Java EE 6 Tutorial – Es hat begonnen…

Da Java EE 6 Tutorials rar sind – und mein Wissen über die neue Spezifikation noch begrenzt – habe ich mich entschlossen ein etwas größeres Video-Tutorial-Projekt zu beginnen in dem ich von der Installation einer Java EE Entwicklungsumgebung bis hin zur Auslieferung eines fertigen Projekts jeden Schritt erklären möchte. Das hilft mir beim Lernen und euch hoffentlich auch! 🙂

Ich werde versuchen so viele spannende Technologien wie möglich einzubauen um euch einen guten Einblick zu geben was alles mit Java EE machbar ist.

Die ersten paar Videos sind hochgeladen. Ihr findet sie hier:

http://www.jofre.de/javaeetutorial/

Die Themen mit grünem Häkchen sind bereits da, die anderen lade ich in den nächsten Wochen hoch. Wollt ihr über neue Videos informiert werden aboniert einfach meinen RSS-Feed.

Ich befürchte, dass dieses Vorhaben neben dem OS-Entwicklungsbuch mein bisher umfangreichstes Projekt wird. Aber mit eurem Feedback bin ich sicher, dass wir das schnell und ordentlich über die Bühne bringen.

Feedback ist jederzeit willkommen und hilft mir die kommenden Videos besser zu gestalten!

Abstrakte Klassen über SOAP WebServices in PHP verwenden

Neulich habe ich versucht einen WebService aus PHP heraus über SOAP aufzurufen. Das Problem war, dass in dem Input des WebServices abstrakte Klassen verwendet wurden die sich – wie wir alle wissen – nicht instanziieren lassen. So kann man aus der abstrakten Klasse “Verkehrsmittel” kein Objekt erstellen, aus der Klasse “TAuto” die auf “TVerkehrsmittel” aufbaut allerdings schon.

Wenn man sich eine WSDL-Datei (WebService Definition Language) anschaut, sieht man, dass in unserem Beispiel folgender Inputtyp angegeben wäre:

<nameSpace1:TVerkehrsmittel xsi:type="nameSpace2:TAuto">

Wir erstellen uns also ein “Verkehrsmittel” vom Typ “Auto”. Damit die Soap-Implementierung von PHP versteht, dass wir ein Auto erstellen wollen müssen wil folgendes tun:

$verkehrsmittel = array('farbe' => 'rot', 'geschwindigkeit' => 60);
$auto = new SoapVar($verkehrsmittel, SOAP_ENC_OBJECT, 'TAuto',
     'http://www.webservices.jofre.de/typenamespace/');

Wenn wir unserem WebService ‘$verkehrsmittel’ übergeben kracht’s und wir sehen einen Errorcode, dass keine Instanz von TVerkehrsmittel erstellt werden kann. Wenn wir aber eine SoapVar erstellen, funktioniert alles wunderbar.

Das Zauberwort heißt also SoapVar().