错误:WSDL - SOAP的错误:解析WSDL:无法加载从

问题描述:

我有一个使用肥皂错误:WSDL - SOAP的错误:解析WSDL:无法加载从

我得到的错误

ERROR: WSDL - SOAP-ERROR: Parsing WSDL: Couldn't load from

这是一个安全的WSDL一个PHP代码,所以我需要也发送用户名和密码。 我的代码有什么问题? 我在网上看到它,并没有从PHP代码中的肥皂工作。 这里是我的代码:

<?php 
ini_set("soap.wsdl_cache_enabled", "0"); 
$soap_url = 'http://some-ip/prod/app/soap/user/storeitemws?WSDL'; 
$sh_param = array(
       'username' => 'aya', 
       'password' => 'aya'); 

$soap_client = new SoapClient($soap_url); 
$test = $soap_client->Authenticate($sh_param); 

echo $test . "\nDone"; 
?> 

感谢

Authenticate()一个SOAP的方法? wsdl以何种方式获得保障?如果你使用浏览器访问它,会发生什么?

SoapClient不支持对其构建的WSDL进行身份验证,因此您必须手动下载WSDL(例如,使用cURL)并从该文件创建SoapClient。

+0

如果我从浏览器访问它,它会提示用户名和密码。 – tochnitanit

+0

嗨,我如何知道Webservice提供的方法?通过浏览器查看xml,我将如何知道哪些是方法?谢谢。 – oneofakind

+0

@oneofakind查看[WSDL wiki](http://en.wikipedia.org/wiki/Web_Services_Description_Language)。你将会寻找''元素。 – CodeCaster

看到documentation

$client = new SoapClient("some.wsdl", array('login'   => "some_name", 
              'password'  => "some_password")); 

变化usernamelogin并尝试上述方法

使用本地主机上,安装WAMP。
点击WAMP的托盘图标> PHP服务>并启用这些选项:
OpenSSL的,
php_openssl,
卷曲;
SOAP,

p.s.可能一些免费托管没有这些选项

也许一些防火墙?你无法访问服务器?