J'ai été chargé de réécrire une application .NET qui communique en utilisant un proxy WSE à PHP. Il y a une chose avec laquelle je suis aux prises. Je vois le code UsernameToken userNameToken1 = new UsernameToken(sToken_UserName, sToken_Password, PasswordOption.SendPlainText);
Qui, je suppose, ajoute un en-tête de sécurité à l'enveloppe SOAP. Je ne suis pas sûr de savoir comment le faire en PHP. J'ai essayé l'extrait suivant que j'ai trouvé en ligne quelque partAjout de l'en-tête de sécurité du savon avec php
$token = new stdClass;
$token->Username = new SOAPVar($username, XSD_STRING, null, null, null, $ns);
$token->Password = new SOAPVar($password, XSD_STRING, null, null, null, $ns);
$wsec = new stdClass;
$wsec->UsernameToken = new SoapVar($token, SOAP_ENC_OBJECT, null, null, null, $ns);
$headers = new SOAPHeader($ns, 'Security', $wsec, true);
$client->__setSOAPHeaders($headers);
Mais je reviens à l'exception suivante:
Uncaught SoapFault exception: [SOAP-ENV:Client] com.sun.xml.wss.XWSSecurityException: Receiver Requirement for nonce has not been met; nested exception is com.sun.xml.wss.XWSSecurityException: com.sun.xml.wss.XWSSecurityException: Receiver Requirement for nonce has not been met
Qu'est-ce que je fais mal ici? Y a-t-il des informations manquantes que je dois savoir?