我需要从php脚本中的soap标头访问用户名和密码。我可以访问正文信息但无法访问标题信息。 这是SOAp ......
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://schemas.xmlsoap.org/ws/2002/04/secext"
xmlns:met="http://www.example.com/data">
<soapenv:Header>
<sec:Security>
<UsernameToken>
<Username>ron</Username>
<Password>pass</Password>
</UsernameToken>
</sec:Security>
</soapenv:Header>
<soapenv:Body>
<met:columnInfo>
<databaseName>MySQL</adaptorName>
<tableName>product</tableName>
</met:columnInfo>
</soapenv:Body>
</soapenv:Envelope>
任何帮助都将非常感激。
答案 0 :(得分:3)
好的找到了解决方案。
$server = new SoapServer($anywsdl);
$server->addFunction(addAllFuntions);
$server->handle();
然后在同一个php脚本中,
function Security($data){
$UserToken=get_object_vars($data);
foreach($UserToken as $uToken){
$credentialArray=get_object_vars($uToken);
echo $credentialArray['Username'];
echo $credentialArray['Password'];
}
}
如果Security()函数位于不同的类中,则需要$ server-&gt; setClass($ yourClass)。