NuSOAP头部认证PHP Web服务

时间:2014-09-16 17:16:33

标签: php web-services soap nusoap soapheader

我是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 !! :)

1 个答案:

答案 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;