/ / java soap client [geschlossen] - java, php, soap

Java-Soap-Client [geschlossen] - Java, PHP, Seife

In PHP haben eine Klasse SoapClient Ich brauche eine äquivalente Klasse in Java. Kennt jemand eine Klasse oder Bibliothek?

In PHP kann ich zum Beispiel folgendes machen:

$client = new SoapClient("http://xxx/yy/login.php?wsdl");
$ticket=$client->__soapCall("getXxx",array("login","senha"));

Wie mache ich das in Java?

Antworten:

2 für die Antwort № 1

Vielleicht wäre es eine gute Idee, Apache CXF anzuwenden. Sie können die WSDL einfach an einen Klassengenerator übergeben, der automatisch eine Java-API für Sie generiert.

Die generierte API wird eine Reihe von Klassen sein, diehat eine Art Fassade. Diese Fassade kann instanziiert und als andere Java-Klasse verwendet werden. Die Logik dahinter sieht ungefähr so ​​aus: Wenn eine Methode aufgerufen wird, erstellen die generierten Klassen eine SOAP-Anfrage, fordern sie beim Webservice-Endpunkt an, erhalten die Antwort, konvertieren sie in ein Java-Objekt und geben sie als normale Methode zurück Aufruf.

Apache CXF

Probieren Sie es aus, ich bin mir ziemlich sicher, dass es Ihnen gefallen wird (ich habe auch lange mit SOAPServer und SOAPClient in PHP gearbeitet).

Einige Hinweise:

  1. Sie können es herunterladen und mit WSDL to Java eine Java-Fassade generieren: https://cwiki.apache.org/CXF20DOC/wsdl-to-java.html einfach wie wsdl2java -client HelloWorld.wsdl
  2. Nach der Java-Generierung können Sie die generierten Klassen in Ihr Projekt einfügen und es verwenden (natürlich müssen auch Apache CXF-Bibliotheken importiert werden).

1 für die Antwort № 2

Dies hängt vom verwendeten WS-Framework ab, z. B. axis Architektur Beschreiben, wie Sie die clientseitige Achsenanwendung verwenden können. Frühling WS bietet einen anderen Weg zur Entwicklung, JavaEE andere, BTW zum Testen können Sie verwenden SoapUI Anwendung


1 für die Antwort № 3

Apache SOAP für Java hat verschiedene Klassen definiert, um Ihren eigenen SOAP-Client zu erstellen.
Sie finden einen Artikel zur Client-Implementierung unter "Client-seitiges SOAP"