我正在尝试使用外部网络服务,但收到错误Parsing Schema: can't import schema from webservice_url
。该服务使用HTTP基本身份验证并使用SSL。我可以通过Web浏览器登录并查看它生成的xml但我无法更改生成的内容,因为它不是我生成xml的代码。我有以下代码。
$config = array('login' => $user_id, 'password' => $password);
$client = new SoapClient($url, $config);
答案 0 :(得分:1)
在网上研究和阅读大量文章后,似乎这是php-soap的限制,一些建议指向使用curl来完成。我实际上决定完全避免PHP,因为我刚刚学习了Ruby并且已经远离PHP。我使用Savon
gem完成了我的上述任务,该gem在身份验证和设置cookie方面有一些非常好的文档。使用这个宝石很有效。
答案 1 :(得分:0)
我在SoapClient手册页comment section上找到了这个:
<?php
$login = 'someone';
$password = 'secret';
$client = new SoapClient(
'https://' . urlencode($login) . ':' . urlencode($password) . '@www.server.com/path/to/wsdl',
array(
'login' => $login,
'password' => $password
)
);
?>
似乎基本身份验证适用于端点调用,而不是WSDL检索。