Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyambung ke Perkhidmatan Web Dilindungi WS-Security Menggunakan PHP?

Bagaimana untuk Menyambung ke Perkhidmatan Web Dilindungi WS-Security Menggunakan PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 02:45:03648semak imbas

How to Connect to a WS-Security Protected Web Service Using PHP?

Menyambung ke Perkhidmatan Web Dilindungi WS-Security dengan PHP

Masalah:

Menyambung ke perkhidmatan web yang dilindungi kata laluan menggunakan PHP dan mengesahkan sebelum membuat permintaan terbukti sebagai satu cabaran. Sama ada mentakrifkan perkhidmatan sebagai SoapClient mahupun SoapServer nampaknya berjaya menyambung ke tapak terpencil.

Penyelesaian:

Untuk mewujudkan sambungan ke perkhidmatan web yang dilindungi oleh WS-Security, gunakan SoapHeader untuk buat pengepala pengesahan patuh WS-Security.

Pelaksanaan:

Lanjutkan kelas SoapHeader dengan mencipta kelas tersuai yang mentakrifkan khusus pengepala WS-Security.

class WsseAuthHeader extends SoapHeader {
  // ... (your code to generate the WS-Security header)
}

Terapkan kelas pengepala tersuai dengan bukti kelayakan yang diperlukan (nama pengguna, kata laluan) dan serahkannya kepada pembina SoapClient.

$wsse_header = new WsseAuthHeader($username, $password);
$client = new SoapClient('service URL', ['__setSoapHeaders' => [$wsse_header]]);

Nota Tambahan:

  • Untuk kes yang melibatkan WS-Security dengan nonce dan cap masa, rujuk pelaksanaan lain dalam bahagian jawapan.
  • Pastikan untuk membandingkan kaedah dengan kaedah yang disediakan oleh Stack Overflow pada pautan yang dinyatakan dalam jawapan.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Perkhidmatan Web Dilindungi WS-Security Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn