Soapclient wsdl使用自定义http请求标头进行初始化

时间:2017-01-21 13:18:58

标签: php wsdl soap-client

我有wsld网址。我必须添加自定义http请求标头来授权此wsdl。当我尝试使用soapclient时,我会收到错误。

/* userName and password is masked in this question */
$opts = array(
        'http'=>array(
                "userName:xxxxx\r\n".
                "password:xxxxxx\r\n"
        )

);
$streamContext  = stream_context_create($opts);
$cilent = new SoapClient("https://iflyrestest.ibsgen.com:6013/iRes_Booking_WS/services/AvailabilityPort?wsdl" , array('stream_context'    => $streamContext));

错误:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in

因为回复类似于“您无权访问此网址...”

此外,当我尝试使用相同的stream_context函数'file_get_content()'时,我成功获取了此网址的内容。

在这种情况下我应该如何使用soapclient?

1 个答案:

答案 0 :(得分:0)

如果您确定它是基本身份验证,那么您只需使用loginpassword SoapClient选项(而不是stream_context)和您的凭据,它就可以正常运行。