Fungsi WsSendMessage (webservices.h)

Kirim pesan di saluran menggunakan serialisasi untuk menulis elemen isi.

Sintaks

HRESULT WsSendMessage(
  [in]           WS_CHANNEL                   *channel,
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_MESSAGE_DESCRIPTION *messageDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *bodyValue,
  [in]           ULONG                        bodyValueSize,
  [in, optional] const WS_ASYNC_CONTEXT       *asyncContext,
  [in, optional] WS_ERROR                     *error
);

Parameter

[in] channel

Saluran untuk mengirim pesan.

[in] message

Objek pesan yang digunakan untuk mengirim.

Objek pesan harus dalam WS_MESSAGE_STATE_EMPTY atau WS_MESSAGE_STATE_INITIALIZED.

[in] messageDescription

Bidang tindakan WS_MESSAGE_DESCRIPTION digunakan sebagai header tindakan untuk pesan. Bidang ini mungkin NULL jika tidak ada tindakan yang diperlukan.

Bidang bodyElementDescription dari WS_MESSAGE_DESCRIPTION digunakan untuk menserialisasikan isi pesan. Bidang ini mungkin NULL jika tidak ada elemen isi yang diinginkan. Lihat WsWriteBody untuk informasi tentang bagaimana bodyElementDescription digunakan untuk menserialisasikan nilai.

[in] writeOption

Apakah elemen isi diperlukan, dan bagaimana nilai dialokasikan. Ini hanya digunakan ketika elemen tubuh diinginkan. Untuk informasi selengkapnya, lihat WS_WRITE_OPTION dan WsWriteBody.

bodyValue

Nilai untuk diserialisasikan dalam isi pesan.

[in] bodyValueSize

Ukuran nilai yang diserialisasikan, dalam byte.

[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.

Nilai kembali

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
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

Untuk menyertakan header kustom dengan pesan, inisialisasi pesan WsInitializeMessage dengan WS_BLANK_MESSAGE lalu tambahkan header menggunakan WsAddCustomHeader sebelum memanggil fungsi ini.

Persyaratan

   
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