Im vorherigen Artikel habe ich Sie mit einer detaillierten Erklärung des WebService -Tutorials (i) vorgestellt.
Gründe für die Verwendung von Tools:
1. Verwenden Sie Tools, um den Prozess von Webservice -Anfragen besser zu verstehen
2. Verwenden Sie das Tool WSEXPLORE, um das Format der SOAP -Datenübertragung und des Empfangs zu erhalten.
3. Verwenden Sie den Tool TCP/IP -Monitor, um die spezifischen Daten des Headers und der Antwortheader des Interceptor -Anforderungs -Headers zu überwachen
Was ist Seife?
SOAP ist ein Textprotokoll, das auf XML -Codierungsspezifikation basiert. Einfach ausgedrückt, SOAP soll XML -Daten auf HTTP übertragen, um Remote -Anrufe zu realisieren [egal in welcher Sprache Ihr Server geschrieben ist, solange Sie XML -Daten des SOAP -Protokolls erhalten und XML -Daten des SOAP -Protokolls zurückgeben, kann dies von einer beliebigen Sprache aufgerufen werden.
Verwenden von WSExplorer -Instanz: Überprüfen Sie, ob QQ online ist
Bei Verwendung der QQCheckonline -Überprüfung in QqonlinewebservicesOap ist die zurückgegebene IS IS IS IS IS
qqCheckonlinerePonse
qqCheckonlineresult (String): n
Klicken Sie auf Quelle, um die detaillierten Informationen anzuzeigen. Die Informationen sind wie folgt:
1: Dies ist das Nachrichtenformat:
Die Codekopie lautet wie folgt:
http://schemas.xmlsoap.org/soap/envelope/ "xmlns: q0 =" http://webxml.com.cn/ "xmlns: xsd =" http://www.w3.org/2001/xmlsschema " xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance">
- -
- -
870931520
2: Das Folgende ist das empfangene XML -Format
Die Codekopie lautet wie folgt:
http://schemas.xmlsoap.org/soap/envelope/ "xmlns: xsd =" http://www.w3.org/2001/xmlschema "xmlns: xsi =" http:/www.w.w.w3.org/2001/xmlschema--Ins>
- -
- http://webxml.com.cn/ ">
N
Bei Verwendung von qqonlinewebservicehtpget oder qqonlinewebserviceHttpost sind die zurückgegebenen alle alle
Nhttp: //webxml.com.cn/ "> n>
Verwenden von TCP/IP -Monitor
Der TCP/IP -Monitor kann nicht nur SOAP -Daten anzeigen, sondern auch Headerinformationen für HTTP -Anforderungen und -Frechungen erhalten.
1. Ort: Dieses Tool befindet sich unter: Fenster> Ansicht anzeigen> Andere> MyeClipse Common (gemeinsame Werkzeuge)> TCP/IP -Monitor
2. Dieses Tool entspricht einem Agenten. Nach dem Start wird ein lokaler Port anhören und die Anfrage an die angegebene Ziel -IP und Port und Port weiterleiten.
Geben Sie die Daten nach Erhalt der Daten in den Kunden intakt zurück. In den Augen der Kunden sollte dieser Agent immer der erste sein, der zugreifen kann, da wir sonst nicht den Prozess der Datenübertragung sehen.
3. Konfigurationsoptionen:
In der Open TCP/IP -Monitor -Schnittstelle: Menü anzeigen (kleiner Pfeil in der oberen rechten Richtung)> Eigenschaften> Hinzufügen (addieren Sie rechts)
Einstellen auf die folgenden Eigenschaften:
Erster Schritt:
1) Lokaler Überwachungsanschluss (Hören Sie sich die lokale Portnummer an): 9876, setzen Sie eine 4-Bit-Portnummer nach Belieben und werden in Form von http://127.0.0.1:9876 zugegriffen
2) Hostname (der Server muss angehört werden, wie z. Es kann auch jeder Host sein.
3) Port (Port des angehörten Zielservers): 6666 - Da der von uns veröffentlichte Webservice http://127.0.0.1:6666/Helloworld ist, 6666 ist die Portnummer, die anhören muss.
4) Typ (die Art des Zuhörens):
.
- HTTP: Die Zieladresse greift weiterhin auf die nächste Anfrage zu. Als Benutzereingabe: http://127.0.0.1:9876/Helloworld?wsdl wird http://127.0.0.1:6666/Helloworld verwenden, um auf die Sayhi -Methode zuzugreifen, wenn Sie die Methode anfordern. Diese Methode wird nicht mehr proxyiert. Weil es nicht mehr die Portnummer ist, die angehört wird.
Am Hörtyp habe ich TCP/IP ausgewählt und dann die Änderung der Adresse in der zurückgegebenen WSDL -Datei überprüft: http://127.0.0.1:9876/Helloworld?wsdl in der Adressleiste.
Auszeit: Stellen Sie die Verbindungszeit fest, wenn der Zugriff nicht erfolgreich ist, und halten Sie sie auf 0, dh er ist nicht eingestellt.
Klicken Sie nach dem Einstellen auf die Schaltfläche OK und dann auf die Schaltfläche Start rechts, und die Überwachung wurde gestartet.
Schritt 2:
Konfigurieren Sie die WSDL -URL auf dem MyeClipse -Webservice auf: http://127.0.0.1:9876/Helloworld?wsdl, beachten Sie, dass der Port des MyeClipse -TCP/IP -Monitors verwendet wird. Anstatt direkt die http://127.0.0.1:6666/Helloworld?wsdl zu besuchen
Wie ändere ich den Inhalt der WSDL -Datei?
Verwenden Sie die Anmerkungen von WebService.
1. @WebService-Definition Service
2. @WebMethod-Definition-Methode
3. @webresult-Definition Rückgabewert
4. @Webparam-definierte Parameter
Hinweis: Verschiedene Versionen unterstützen verschiedene Ebenen von Kommentaren:
1. 1.5 wird nicht unterstützt.
2. Versionen vor 1.6.0_20 müssen vollständige Annotationen verwenden.
3. Nach 1.6.0_21 können Sie nur @Webservice verwenden, um die Klasse zu kommentieren.
Die Funktion der Kommentare:
Durch die Kommentare von WebService können Sie den Webdienst lebhafter beschreiben. Dies erzeugt ein WSDL -Dokument.
Wenn die WebService -Annotation geändert wird, wirkt sich der vom Client generierte Code ebenfalls aus.
Die Methoden- und Parameternamen der aufgerufenen auch geändert.
Beispiel:
@WebService (name = "myName", // entsprechende PortType name = "myName" portname = "myport", // entsprechende Portname = "myport" serviceName = "myService", // entsprechend Service name = "myService" targetnamespace = "http:/ SimpleDateFormat SDF = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); @WebMethod (action = "myAction", // Definieren Sie eine SOAPACTION = "myAction", um diese Methode zu finden, um OperationName = "MyoperationName") // die Methode zu definieren, die aufgerufen werden kann, und eine bestimmte Methode der entsprechenden Klasse wird generiert, Operation name = ".." öffentlich @Webresult (name = "mysayhelling"). "HelloWorld"; } @WebMethod (action = "mysayhiaction", operationName = "mysayhioperationName") public @Webresult (name = "mysayhiresult") String Sayshi (@Webparam (Name = "MyParaname", // Die Parameter in die Parameter. = "Hallo:"+name+", die aktuelle Zeit ist:"+SDF.Format (neues Datum ()); return str; } public static void main (String [] args) {endpoint.publish ("http://127.0.0.1:6666/Helloworld", New HelloWorld ()); }}3: Nachdem das obige Programm für die Öffentlichkeit veröffentlicht wurde, greifen wir über den Webservice Explorer von MyeClipse darauf zu
Sie finden eine andere Eingabeaufforderung als zuvor, aber tatsächlich wird die gleiche Methode aufgerufen.
4: Verwenden Sie WSIMPORT S wieder. http://127.0.0.1:6666/Helloworld?wsdl zum Generieren von Java -Code und dann der folgende Aufruf ist der aufrufende Code (er kann als nicht wiederzuerkennen, aber dasselbe Arbeit ist erledigt.)
Paket com.leaf.mynamespace; public class main {public static void main (String [] args) {// Durch Analyse von WSDL können wir sehen, dass das Anruf von GetMyport von MyService MyName MyName myName = new myService () zurückgibt. GetMyport (); // Rufen Sie die Sayhi -Methode durch MysayhioperationName von MyName String str = myName.mysayhioperationName ("Wang Jian") an; System.err.println (str); }}Detaillierte Erläuterung des WebService -Tutorials (ii) Lassen Sie mich es Ihnen zuerst vorstellen. Ich hoffe, es wird Ihnen hilfreich sein!