WebService mit PHP Server und Java Client

Java, Programming 5 Comments »
  • english
  • german

Für mein aktuelles privates Projekt, das den tollen Namen "Telrunya" trägt, versuche ich von einem Java Client auf einen PHP WebService zuzugreifen. Ich hab mal in einem .NET Codecamp gehört, dass WS ja super toll ist und es egal ist, in welcher Sprache der Service geschrieben ist. Das ist aber Quark wenn man zwischen 2 Technologien kommuniziert. Im Blog von Guxx habe ich genau den umgekehrten Fall gefunden, wie man von einem PHP Client auf einen Service in Java zugreift. Da gibt es dann ferner von Zend eine Java-Bridge, welche die Konvertierung der Objekte in die Hand nimmt. Das Ding scheint ein eigener Server oder zumindest ein Server-Modul zu sein und kommt für mich nicht in Frage (kostet ja außerdem Geld).

Jedenfalls habe ich das ganze innerhalb von NetBeans mit JAX-WS versucht. Meine im Eclipse geschriebene WSDL (document) hat es auch ordentlich geparst und dann die Java-Klassen für den Client etc. angelegt. Zugreifen kann der Client auch, nur er schafft es nicht die Werte umzuformen. Wenn ich den HTTP-Verkehr abhöre, sehe ich, dass die richtigen Daten ankommen, aber der Client liefert mir immer "null". Ich habe schon Dokus und Tutorials gewälzt, aber nicht raus bekommen, wie man die empfangenen Daten umkonvertieren kann.
Vielleicht weiß ja jemand Rat?

Die Old-School-Variante funktioniert, ist aber umständlich. Dabei lege ich mir in Java einfach eine URL an, setze als "RequestProperty" meine SOAP-Funktion ein und sende einen händisch erzeugten (oder alternativ einfach aus soapUI kopierten) Soap-Envelope los. Das Ergebnis ist dann der entsprechende Envelope, der eben zurückkam. Den muss man dann natürlich noch zerlegen und seine Daten raus ziehen. Mit JAX-WS würde es halt viel einfacher gehen, klappt aber nicht....

Tags: , , , , , , ,

WebServices testen mit soapUI

Programming, WebServices No Comments »

Seit einiger Zeit beschäftige ich mich WebServices im Rahmen eines Projektes mit ein paar Freunden. Aktuell arbeite ich auch gerade wieder an einem privaten Projekt, welches WebServices nutzt.
Geschrieben ist ein Service ja relativ schnell, wobei "schreiben" da eher nicht ganz passt. Ich nutze hauptsächlich Eclipse mit WST, wobei der Editor da einige Bugs hat, Refactoring funktioniert meistens nicht und die normale Generation einer WSDL ist auch nicht ganz sauber.
Um also zu testen, ob meine WSDL und der entsprechende SoapServer (habe ich bisher nur in PHP gemacht) richtig definiert und implementiert sind, verwende ich soapUI. Das ist eine sehr coole Java-Applikation, mit der man WebServices eben testen kann: einfach in der Bedienung und übersichtlich. Ich nutze das meist wirklich nur, um zu prüfen, ob die gewünschten Daten bei entsprechender Eingabe zurückgesendet werden.
soapUI erstellt auch automatisch anhand der WSDL Beispielanfragen mit den benötigten Parametern, aber es kann noch viel mehr: es ist eine ganze Testumgebung für WebServices inklusive Validierung, LoadTests und WebService Simulation. Da ich bisher noch nicht so weit gekommen bin, mal Tests für Serviceanfragen zu erstellen, kann ich zum Rest nicht wirklich viel sagen. Aber wer sich dafür interessiert, sollte sich das Programm mal anschauen.

http://www.soapui.org

Tags: , , ,
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Anmelden