0

PHP版本:5.3.3

我正在使用 SOAP 扩展从 Web api 中提取数据。您可以在下面看到我的连接详细信息。当它到达第 3 行时,我收到一个错误:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.global1.autotask.net/atservices/1.2/atws.wsdl' : failed to load external entity "https://www.global1.autotask.net/atservices/1.2/atws.wsdl" in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ATAPI\index.php:5 Stack trace: #0 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ATAPI\index.php(5): SoapClient->SoapClient('https://www.glo...', Array) #1 {main} thrown in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ATAPI\index.php on line 5

这是我的连接详细信息:

$wsdl = 'https://www.global1.autotask.net/atservices/1.2/atws.wsdl';
$loginarray = array('login' => "billy.jones@networkroi.co.uk", 'password' => "******", 'uri'=>"http://autotask.net/ATWS/v1_2/", 'location'=>"https://global1.autotask.net/atservices/1.2/atws.asmx");
$client = new SoapClient($wsdl, $loginarray);

我用谷歌搜索,发现这可能是soap扩展的错误?

我没有注释:

extension=php_soap.dll

在 php.ini 文件中。而且我还确保我的允许 url fopen 设置为:

allow_url_fopen = On

有人知道我如何解决这个问题吗?也许我忘了做某事?

谢谢,

比利

4

3 回答 3

1

首先,我建议您在 Autotask CommunITy 网站 (community.autotask.com) 上发布一个问题,因为那里有很多资源都非常熟悉 Autotask 特定的东西。

您使用的 URL 不适合 Web 服务访问。如果您使用https://webservicesg1.autotask.net/atservices/1.2/atws.wsdl是否有效?

特拉维斯

于 2010-09-08T14:33:38.557 回答
0

1)它对我来说很好。我可以加载它,甚至不需要密码。好吧,问题出现在某些 PHP/Soapclient 版本中。我建议您将 PHP 升级到最新版本。

2)如果它仍然不适合您,请尝试NuSoap。这也太棒了。

于 2010-08-27T13:22:22.893 回答
0

为什么你认为某个地方有一个扩展名为 .wsdl 的文件?要从 ASMX Web 服务中获取 WSDL,请将“?wsdl”附加到服务的末尾,例如https://global1.autotask.net/atservices/1.2/atws.asmx?wsdl

于 2010-08-27T19:37:34.057 回答