Connexion à un service Web protégé par mot de passe à l'aide de PHP et authentification avant de créer une demande s'avère être un défi. Ni la définition du service en tant que SoapClient ni SoapServer ne semble se connecter au site distant avec succès.
Pour établir une connexion à un service Web protégé par WS-Security, utilisez SoapHeader pour créez un en-tête d'authentification conforme à WS-Security.
Étendez la classe SoapHeader en créant une classe personnalisée qui définit les spécificités de l'en-tête WS-Security.
class WsseAuthHeader extends SoapHeader { // ... (your code to generate the WS-Security header) }
Instanciez la classe d'en-tête personnalisée avec les informations d'identification nécessaires (nom d'utilisateur, mot de passe) et transmettez-la au constructeur SoapClient.
$wsse_header = new WsseAuthHeader($username, $password); $client = new SoapClient('service URL', ['__setSoapHeaders' => [$wsse_header]]);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!