Python und Java

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lumina
User
Beiträge: 7
Registriert: Donnerstag 20. März 2008, 00:39

Hallo,

hab ein kleines Problem.
Ich hab einen Webservice in Java.
Und ich habe ein Programm in Python, das unter anderem irgendwelche Messages erzeugt.

Nun will ich diese Messages an meinen Webservice schicken und dort damit weiterarbeiten und dann in nem Browser anzeigen und darstellen.

Ich hab grad nur keine Ahnung wie ich quasi eine Brücke zwischen diese beiden Programme kriegen soll. Hat mir da jemand einen Tip, wie das am einfachsten geht??

Danke
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Lumina hat geschrieben:Hat mir da jemand einen Tip, wie das am einfachsten geht??
Mit XML-RPC. Wie das aus Python-Sicht geht wird dir eine Suche im Forum zeigen, wie das aus Java-Sicht geht musst du dann in den Java-Ressourcen nachsehen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Bei Webservice und Java meinst du doch bestimmt SOAP, oder? Da diese Schnittstelle zumindest theoretisch sprachneutral ist, sollte es möglich sein, sie mit Python zu bedienen. Dive into Python hat ein Kapitel zu diesem Thema.

Stefan
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich verstehe vor allem nicht, wieso er quasi dieselbe Frage noch einmal stellt ;-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sma hat geschrieben:Bei Webservice und Java meinst du doch bestimmt SOAP, oder?
Das Problem mit SOAP ist SOAP selbst. Es ist überspezifiziert, überkompliziert und in Python nicht wirklich gut unterstützt. Daher würde ich eher zu etwas anderem raten wie XML-RPC oder gar JSON-RPC.

Ist die Frage: befindet sich der Webservice im Einfluss und Änderungsbereich des OPs?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Lumina
User
Beiträge: 7
Registriert: Donnerstag 20. März 2008, 00:39

Hyperion hat geschrieben:Ich verstehe vor allem nicht, wieso er quasi dieselbe Frage noch einmal stellt ;-)
was meinst du? Wenn du mich meinst, dann bitte schon sie statt er. :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Sorry, konnte ja nicht wissen, dass Du weiblich bist ;-) In Deinem Profil steht das ja nicht drin! (Und ich meinte natürlich "er, der User" :-D )

Ich meine folgenden Thread:
http://www.python-forum.de/topic-13989.html?highlight=
Lumina
User
Beiträge: 7
Registriert: Donnerstag 20. März 2008, 00:39

kein Problem. :-)

bei dem andern Thread wollt ich aber eher wissen, wie ich aus dem WSDL Zeug kompletten Python Code erzeugen kann.
Das will ich jetzt ja nicht wissen. Nun gings mir darum wie die beiden Programme in unterschiedlichen Programmiersprachen am besten miteinander kommunizieren können.
Also python-Programm soll was an den WebService schicken und mit nem java-Programm will ich auf diese Infos rankommen und dann die Methoden des WebService nutzen um das ganze zu "visualisieren".

Also für mich sind das zwei ganz unterschiedliche Probleme.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Nimm kein SOAP, das ist schrecklich. XMLRPC, JSONRPC oder REST sind toll, SOAP ist...bäh. Und kompliziert.
Zuletzt geändert von audax am Dienstag 25. März 2008, 12:58, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Lumina hat geschrieben:Das will ich jetzt ja nicht wissen. Nun gings mir darum wie die beiden Programme in unterschiedlichen Programmiersprachen am besten miteinander kommunizieren können.
Also, damit wir uns verstehen: Webservice heißt SOAP und es lässt sich nicht auf anderem Wege, nicht über SOAP lösen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Hm ... ok, ein wenig anders, aber doch nicht komplett unterschiedlich! Du musst ja dennoch per SOAP den WS ansprechen - ob es da nun für WSDL einen automatischen Code-Generator gibt ist dabei dann ja fast egal.
BlackJack

Ich glaube Corba wurde noch nicht als Kommunikationsmittel erwähnt. Unter Python ist das gar nicht mal so schrecklich. :-)
lunar

BlackJack hat geschrieben:Ich glaube Corba wurde noch nicht als Kommunikationsmittel erwähnt. Unter Python ist das gar nicht mal so schrecklich. :-)
Allerdings müsste er ja den Java-Code des Webservices ändern, und unter Java ist Corba schrecklich ;)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ice wurde auch noch nicht erwähnt und das gibt es sowohl für Python als auch für Java. Wie schlimm das unter Java ist werde ich nicht zu schätzen versuchen, aber vermutlich besser als Corba.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Gleich mit Spring-Support kommt Hessian. Könnte auch interessant sein, wenn es um eine leichtgewichtige Interaktion zwischen Java und Python geht.

Stefan
Zuletzt geändert von sma am Mittwoch 26. März 2008, 13:57, insgesamt 1-mal geändert.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wenn SOAP unter Python nicht der Bringer ist, wäre ggf. eine gemischte Lösung ideal. Man könnte doch die Daten aus einem Python-Script einem Java-Programm zukommen lassen, welches dann die Kommunikation per SOAP mit dem Webservice-Endpoint regelt. Also das Java-Programm quasi als Brücke.

Mag aufwendig erscheinen, aber je nach Komplexität könnte man doch so die Vorteile der automatischen Stub-Generierung von AXIS2 und den Möglichkeiten von z.B. JSON auf Python-Seite nutzen.
Antworten