0
Je reçois une demande dans la méthode suivante, mais le message de savon ne semble pas contenir le UsernameToken élément:manquant élément UsernameToken
$policy = new WSPolicy(
array(
'useUsernameToken'=>true
)
);
$security = new WSSecurityToken(
array(
'user'=>$username,
'passwordType'=>'PlainText',
'password'=>$password
)
);
// create client in WSDL mode
$client = new WSClient(
array (
'wsdl'=>$service_wsdl,
'to'=>$service_url,
'policy'=>$policy,
'securityToken'=>$security,
'trace'=>1
)
);
$proxy = $client->getProxy();
$proxy->Ping();
La demande qui est produit ressemble à ceci:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ns1:Ping xmlns:ns1="http://streamlinedsalestax.org/efile"/>
</soapenv:Body>
</soapenv:Envelope>
Vous remarquerez que l'élément UsernameToken est complètement manquant.
Si la configuration I l'objet comme vous l'avez dit WS-Policy alors une demande ne se produit .... et $ client-> retourne getLastRequest() un chaîne vide. Je vois aussi: Remarque: Variable indéfinie: payload_node dans /home/enterprise/includes/wso2/dynamic_invocation/wsf_wsdl_serialization.php à la ligne 157 – dorgan