我有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?
答案 0 :(得分:0)
如果您确定它是基本身份验证,那么您只需使用login
和password
SoapClient选项(而不是stream_context)和您的凭据,它就可以正常运行。