Cara: Menggunakan Svcutil.exe untuk Mengunduh Dokumen Metadata
Anda dapat menggunakan Svcutil.exe untuk mengunduh metadata dari layanan yang sedang berjalan dan menyimpan metadata ke file lokal. Untuk skema URL HTTP dan HTTPS, Svcutil.exe mencoba mengambil metadata menggunakan WS-MetadataExchange dan XML Web Service Discovery. Untuk semua skema URL lainnya, Svcutil.exe hanya menggunakan WS-MetadataExchange.
Secara default, Svcutil.exe menggunakan pengikatan yang ditentukan dalam kelas MetadataExchangeBindings. Untuk mengonfigurasi pengikatan yang digunakan untuk WS-MetadataExchange, Anda harus menentukan titik akhir klien dalam file konfigurasi untuk Svcutil.exe (svcutil.exe.config) yang menggunakan kontrak IMetadataExchange
dan yang memiliki nama yang sama dengan skema Pengidentifikasi Sumber Daya Seragam (URI) dari alamat titik akhir metadata.
Perhatian
Saat menjalankan Svcutil.exe untuk mendapatkan metadata layanan yang mengekspos dua kontrak layanan berbeda yang masing-masing berisi operasi dengan nama yang sama, Svcutil.exe menampilkan kesalahan yang mengatakan, "Tidak dapat memperoleh Metadata dari ....". Misalnya, jika Anda memiliki layanan yang mengekspos kontrak layanan yang disebut ICarService
yang memiliki operasi Get(Car c)
dan layanan yang sama mengekspos kontrak layanan yang disebut IBookService
yang memiliki operasi Get(Book b)
. Untuk mengatasi masalah ini, lakukan salah satu dari berikut ini:
Untuk mengunduh metadata menggunakan Svcutil.exe
Temukan alat Svcutil.exe di lokasi berikut:
C:\Program Files\Microsoft SDKs\Windows\v1.0.\bin
Pada prompt perintah, luncurkan alat menggunakan format berikut.
svcutil.exe /t:metadata <url>* | <epr>
Anda harus menentukan opsi
/t:metadata
untuk mengunduh metadata. Jika tidak, kode dan konfigurasi klien dihasilkan.Argumen <
url
> menentukan URL ke titik akhir layanan yang menyediakan metadata atau ke dokumen metadata yang dihosting secara online. Argumen <epr
> menentukan jalur ke file XML yang berisiEndpointAddress
WS-Addressing untuk titik akhir layanan yang mendukung WS-MetadataExchange.
Untuk opsi selengkapnya tentang menggunakan alat ini untuk pengunduhan metadata, lihat ServiceModel Metadata Utility Tool (Svcutil.exe).
Contoh
Perintah berikut mengunduh dokumen metadata dari layanan yang sedang berjalan.
svcutil /t:metadata http://service/metadataEndpoint