PHP SoapHeader的命名空间和name怎么获取?

jungle_drums
  • 274

问题:对接第三方的接口,采用SOAP的协议;SOAP的报文需要有头信息,在处理头信息的时候,不清楚里面的namespace和name是要传什么值。

SOAP  报文必须有头信息
头中必须携带 AuthenticationToken  元素
AuthenticationToken  元素中必须包括 Username 和 Password  子元素
        $username = 'xxx';
        $password = 'xxx';
        $requestUrl = "xxxx?wsdl";
        try {
            // 请求头
            $headerParam = [
                'AuthenticationToken'   => [
                    'Username' => $username,
                    'Password' => $password,
                ]
            ];
            $client = new \SoapClient($requestUrl);
            $u = new \SoapHeader('','', $headerParam,true);
            $client->__setSoapHeaders($u);
            $r = $client->getList(['param' => 'a']);
            var_dump($r);
        } catch (\SoapFault $e) {
            echo $client->__getLastRequest();
            echo $client->__getLastResponse();
            echo $e->getMessage();
        }
评论
阅读 909
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏