我是SOAP webservices的新手,我需要开发一个SOAP服务器Web服务,使用头信息进行身份验证。我正在使用NuSOAP,因为它似乎是一个非常有用的课程。我可以找到很多关于客户端进行SOAP调用的信息,但是在服务器端没有任何信息。寻找SOAP服务器端的任何指导或教程。
到目前为止,我不知道这是否是处理身份验证的正确方法,或者是否有内置方法:
$server = new nusoap_server();
$server->configureWSDL("ProjectName", "name:space");
$server->register(
"authenticate",
array("UserName"=>"xsd:string",
"Password"=>"xsd:string",
"MessageText"=>"xsd:string"),
array("return"=>"xsd:string")
);
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
function authenticate($UserName, $Password, $MessageText) {
}
感谢您帮助SOAP Noobie !! :)
答案 0 :(得分:0)
您可以通过将HTTP_RAW_POST_DATA解析为XML并使用通用XML库来执行所需的操作来访问标头数据。
$data = $HTTP_RAW_POST_DATA;
$doc = new DOMDocument();
$doc->loadXML($data);
$doc->getElementsByTagName('UserName')->item(0)->nodeValue;