Dalam artikel sebelumnya, saya memperkenalkan Anda pada penjelasan terperinci tentang tutorial layanan web (i)
Alasan untuk menggunakan alat:
1. Gunakan alat untuk lebih memahami proses permintaan layanan web
2. Gunakan alat WSEXplore untuk mendapatkan format transmisi dan penerimaan data SOAP.
3. Gunakan alat TCP/IP Monitor untuk memantau data spesifik dari header permintaan interceptor dan header respons
Apa itu sabun?
SOAP adalah protokol teks berdasarkan spesifikasi pengkodean XML. Sederhananya, SOAP adalah mengirimkan data XML pada HTTP untuk mewujudkan panggilan jarak jauh [tidak peduli bahasa apa pun bahasa server Anda, selama Anda menerima data XML dari protokol SOAP dan mengembalikan data XML dari protokol SOAP, dapat dipanggil dengan bahasa apa pun]
Menggunakan instance WSEXPLORER: Verifikasi bahwa QQ online
Saat menggunakan verifikasi qqcheckonline di qqonlinewebservicesoap, yang dikembalikan
qqCheckonlineresponse
QQCheckonLineresult (String): n
Klik Sumber untuk melihat informasi terperinci, informasinya adalah sebagai berikut:
1: Ini adalah format pesan:
Salinan kode adalah sebagai berikut:
http://schemas.xmlsoap.org/soap/envelope/ "xmlns: q0 =" http://webxml.com.cn/ "xmlns: xsd =" http://www.w3.org/2001/xmlsch " xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance">
-
-
870931520
2: Berikut ini adalah format XML yang diterima
Salinan kode adalah sebagai berikut:
http://schemas.xmlsoap.org/soap/envelope/ "xmlns: xsd =" http://www.w3.org/2001/xmlschema "xmlns: xsi =" http://www.w3.org/ablns: xsi = "http://www.w3.org/ablns:" http://www.w3.org/aMlns = "http://www.w3.org
-
- http://webxml.com.cn/ ">
N
Saat menggunakan qqonlinewebserviceHttpget atau qqonlinewebserviceHttpppost, yang dikembalikan adalah semua
Nhttp: //webxml.com.cn/ "> n>
Menggunakan monitor TCP/IP
Monitor TCP/IP tidak hanya dapat melihat data SOAP, tetapi juga mendapatkan informasi header untuk permintaan dan resepsi HTTP.
1. Lokasi: Alat ini terletak di: Window> Show View> Other> Myeclipse Common (Common Tools)> TCP/IP Monitor
2. Alat ini setara dengan agen. Setelah startup, itu akan mendengarkan port lokal dan kemudian meneruskan permintaan ke IP dan port target yang ditentukan.
Setelah mendapatkan data, kembalikan data ke pelanggan yang utuh. Di mata pelanggan, agen ini harus selalu menjadi yang pertama mengakses, jika tidak kita tidak akan melihat proses transmisi data.
3. Opsi Konfigurasi:
Pada antarmuka monitor TCP/IP terbuka: Tampilan menu (panah kecil di arah kanan atas)> Properties> Tambah (Tambahkan di sebelah kanan)
Diatur ke properti berikut:
Langkah Pertama:
1) Port pemantauan lokal (dengarkan nomor port lokal): 9876, atur nomor port 4-bit sesuka hati, dan akan diakses dalam bentuk http://127.0.0.1:9876
2) Nama host (server yang akan didengarkan, seperti www.vevb.com): 127.0.0.1 Karena mesin menerbitkan layanan web, ia memantau IP asli. Itu juga bisa menjadi tuan rumah.
3) Port (port dari server target yang akan didengarkan): 6666 - Karena layanan web yang kami terbitkan adalah http://127.0.0.1:666/helloworld, 6666 adalah nomor port yang perlu didaftarkan.
4) Ketik (jenis mendengarkan):
- TCP/IP: Alamat asli akan digunakan untuk terus mengakses permintaan berikutnya, seperti input pengguna: http://127.0.0.1:9876/Helloworld?wsdl akan kembali ke alamat akses layanan WSDL seperti sebelumnya.
- HTTP: Alamat tujuan akan terus mengakses permintaan berikutnya. Sebagai input pengguna: http://127.0.0.1:9876/Helloworld?wsdl akan menggunakan http://127.0.0.1:6666/Helloworld untuk mengakses metode Sayhi saat meminta metode tersebut. Metode ini tidak akan lagi proxyed. Karena tidak lagi nomor port yang didengarkan.
Pada jenis mendengarkan, saya memilih TCP/IP, dan kemudian memeriksa perubahan alamat dalam file WSDL yang dikembalikan dengan memasukkan: http://127.0.0.1:9876/Helloworld?wsdl di bilah alamat.
Time Out: Atur waktu koneksi saat akses tidak berhasil, dan simpan ke 0, yaitu, tidak diatur.
Setelah mengaturnya, klik tombol OK, lalu klik tombol Mulai di sebelah kanan, dan pemantauan telah dimulai.
Langkah 2:
Konfigurasikan URL WSDL di Myeclipse WebService ke: http://127.0.0.1:9876/Helloworld?wsdl, perhatikan bahwa port monitor TCP/IP Myeclipse digunakan. Alih -alih secara langsung mengunjungi http://127.0.0.1:666/helloworld?wsdl diterbitkan
Bagaimana cara memodifikasi konten file wsdl?
Gunakan anotasi WebService.
1. @Layanan Definisi Webservice
2. @Metode Definisi WebMethod
3. @Webresult-Definition Nilai Pengembalian
4. @Parameter-Define Parameter
Catatan: Versi yang berbeda mendukung berbagai tingkat komentar:
1. 1.5 tidak didukung.
2. Versi Sebelum 1.6.0_20 harus menggunakan anotasi lengkap.
3. Setelah 1.6.0_21, Anda hanya dapat menggunakan @WebService untuk memberi anotasi kelas.
Fungsi komentar:
Melalui komentar layanan web, Anda dapat menggambarkan layanan web dengan lebih jelas. Ini menghasilkan dokumen WSDL.
Ketika anotasi layanan web dimodifikasi, kode yang dihasilkan oleh klien juga akan mempengaruhi.
Metode dan nama parameter yang dipanggil juga diubah.
Contoh:
@WebService (name = "myName", // porttype name yang sesuai = "myname" portname = "myport", // name port yang sesuai = "myport" serviceName = "myservice", // name service = "myService" couble/httpace/httpuce/httpuce (httpon (http.//leafer. sdf = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"); @WebMethod (Action = "MyAction", // Tentukan SoapAction = "MyAction" untuk menemukan metode ini untuk mengeksekusi OperationName = "MyOperationName") // Tentukan metode yang dapat dipanggil, dan metode khusus dari kelas yang sesuai) {NAME OP OPERASI = "PUBLIK @WEBRESUL (Nama =" Mysayhell Bullor ") The Public @webresule (Nama =" Mysayhellor "Mysullor") The Public @WebRresule (nama Mysayhellor "Mysullor" Mysullor ") "HelloWorld"; } @WebMethod (Action = "MySayHiaction", OperationName = "MySayHiOperName") public @WebResult (name = "MySayHiresult") String Sayshi (@WebParam (name = "myparaname", // Masukkan parameter ke dalam informasi header untuk melindungi parameter. "Halo:"+Name+", waktu saat ini adalah:"+sdf.format (tanggal baru ()); mengembalikan str; } public static void main (string [] args) {endpoint.publish ("http://127.0.0.1:666/helloworld", new HelloWorld ()); }}3: Setelah program di atas dirilis ke publik, kami mengaksesnya melalui WebService Explorer Myeclipse
Anda akan menemukan pesan cepat yang berbeda dari sebelumnya, tetapi pada kenyataannya, metode yang sama masih dipanggil.
4: Gunakan WSimport S lagi. http://127.0.0.1:666/helloworld?wsdl untuk menghasilkan kode java dan kemudian memanggil yang berikut adalah kode panggilan (dapat digambarkan sebagai tidak dapat dikenali, tetapi pekerjaan yang sama dilakukan.)
paket com.leaf.mynamespace; Kelas publik utama {public static void main (string [] args) {// Dengan menganalisis wsdl, kita dapat melihat bahwa memanggil getMyport dari myService mengembalikan myname myname myname = new myservice (). getMyport (); // Panggil metode Sayhi melalui mysayhioperationname dari myname string str = myname.mysayhioperationName ("wang jian"); System.err.println (str); }}Penjelasan terperinci tentang tutorial layanan web (ii) Izinkan saya memperkenalkannya kepada Anda di sini terlebih dahulu, saya harap ini akan membantu Anda!