Fungsi WsReadMessageStart (webservices.h)

Baca header pesan berikutnya dari saluran, dan bersiaplah untuk membaca elemen isi.

Sintaks

HRESULT WsReadMessageStart(
  [in]           WS_CHANNEL             *channel,
  [in]           WS_MESSAGE             *message,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parameter

[in] channel

Saluran untuk menerima dari.

[in] message

Pesan yang akan diterima.

[in, optional] asyncContext

Informasi tentang cara memanggil fungsi secara asinkron, atau NULL jika memanggil secara sinkron.

[in, optional] error

Menentukan di mana informasi kesalahan tambahan harus disimpan jika fungsi gagal.

Mengembalikan nilai

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Awal pesan berhasil diterima.
WS_S_END
Tidak ada lagi pesan yang tersedia di saluran.
WS_S_ASYNC
Operasi asinkron masih tertunda.
WS_E_OPERATION_ABORTED
Operasi dibatalkan.
WS_E_INVALID_OPERATION
Operasi tidak diperbolehkan karena status objek saat ini.
WS_E_ENDPOINT_NOT_FOUND
Titik akhir jarak jauh tidak ada atau tidak dapat ditemukan.
WS_E_ENDPOINT_ACCESS_DENIED
Akses ditolak oleh titik akhir jarak jauh.
WS_E_ENDPOINT_DISCONNECTED
Koneksi dengan titik akhir jarak jauh dihentikan.
WS_E_ENDPOINT_FAILURE
Titik akhir jarak jauh tidak dapat memproses permintaan.
WS_E_ENDPOINT_NOT_AVAILABLE
Titik akhir jarak jauh saat ini tidak dalam layanan di lokasi ini.
WS_E_ENDPOINT_TOO_BUSY
Titik akhir jarak jauh tidak dapat memproses permintaan karena kelebihan beban.
WS_E_ENDPOINT_UNREACHABLE
Titik akhir jarak jauh tidak dapat dijangkau.
WS_E_INVALID_ENDPOINT_URL
URL alamat titik akhir tidak valid.
WS_E_INVALID_FORMAT
Data input tidak dalam format yang diharapkan atau tidak memiliki nilai yang diharapkan.
WS_E_OPERATION_TIMED_OUT
Operasi tidak selesai dalam waktu yang dialokasikan.
WS_E_PROXY_ACCESS_DENIED
Akses ditolak oleh server proksi HTTP.
WS_E_PROXY_FAILURE
Server proksi HTTP tidak dapat memproses permintaan.
WS_E_QUOTA_EXCEEDED
Kuota terlampaui.
WS_E_SECURITY_VERIFICATION_FAILURE
Verifikasi keamanan tidak berhasil untuk data yang diterima.
WS_E_SECURITY_SYSTEM_FAILURE
Operasi keamanan gagal dalam kerangka kerja Windows Web Services.
WS_E_SECURITY_TOKEN_EXPIRED
Token keamanan ditolak oleh server karena telah kedaluwarsa.
WS_E_PROXY_REQUIRES_BASIC_AUTH
Server proksi HTTP memerlukan skema autentikasi HTTP 'dasar'.
WS_E_PROXY_REQUIRES_DIGEST_AUTH
Server proksi HTTP memerlukan skema autentikasi HTTP 'digest'.
WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH
Server proksi HTTP memerlukan skema autentikasi HTTP 'negosiasi'.
WS_E_PROXY_REQUIRES_NTLM_AUTH
Server proksi HTTP memerlukan skema autentikasi HTTP 'NTLM'.
WS_E_SERVER_REQUIRES_BASIC_AUTH
Titik akhir jarak jauh memerlukan skema autentikasi HTTP 'dasar'.
WS_E_SERVER_REQUIRES_DIGEST_AUTH
Titik akhir jarak jauh memerlukan skema autentikasi HTTP 'digest'.
WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH
Titik akhir jarak jauh memerlukan skema autentikasi HTTP 'negosiasi'.
WS_E_SERVER_REQUIRES_NTLM_AUTH
Titik akhir jarak jauh memerlukan skema autentikasi HTTP 'NTLM'.
CERT_E_EXPIRED
Sertifikat yang diperlukan tidak dalam periode validitasnya ketika memverifikasi terhadap jam sistem saat ini atau tanda waktu dalam file yang ditandatangani.
CERT_E_CN_NO_MATCH
Nama CN sertifikat tidak cocok dengan nilai yang diteruskan.
CERT_E_UNTRUSTEDROOT
Rantai sertifikat diproses, tetapi diakhiri dalam sertifikat akar yang tidak dipercaya oleh penyedia kepercayaan.
CERT_E_WRONG_USAGE
Sertifikat tidak valid untuk penggunaan yang diminta.
CRYPT_E_REVOCATION_OFFLINE
Fungsi pencabutan tidak dapat memeriksa pencabutan karena server pencabutan sedang offline.
E_OUTOFMEMORY
Kehabisan memori.
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
Kesalahan Lainnya
Fungsi ini dapat mengembalikan kesalahan lain yang tidak tercantum di atas.

Keterangan

Ini membaca awal pesan berikutnya dari saluran, termasuk header pesan.

Fungsi ini seperti WsReadEnvelopeStart tetapi digunakan dengan saluran.

Setelah berhasil, header akan disimpan dalam pesan dan dapat diakses dengan cara akses acak (misalnya, menggunakan WsGetHeader).

Pesan harus dalam status WS_MESSAGE_STATE_EMPTY . Setelah berhasil, pesan akan beralih ke status WS_MESSAGE_STATE_READING .

Untuk mendeserialisasi elemen isi pesan, gunakan WsReadBody. Untuk membaca langsung dari Pembaca XML pesan, pertama-tama dapatkan pembaca menggunakan properti WS_MESSAGE_PROPERTY_BODY_READER .

Jika input saluran dialirkan (WS_STREAMED_INPUT_TRANSFER_MODE), maka WsFillBody harus dipanggil untuk menerima bagian tubuh berikutnya sebelum benar-benar dibaca.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header webservices.h
Pustaka WebServices.lib
DLL WebServices.dll