【发布时间】:2019-07-19 15:38:25
【问题描述】:
问题
我正在使用网络服务,但我无法连接总是收到以下错误消息:
SOAP-ERROR: Parsing Schema: can't import schema from domain.com/WebService.svc?xsd=xsd0
我确实解决了所有未找到解决方案的 SO 问题。
服务器
Linux、php7.1
启用 PHP 模块
bz2, calendar, Core, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd,
gettext, hash, iconv, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd,
openssl, pcntl, pcre, PDO, pdo_dblib, pdo_mysql, pdo_sqlite, Phar, posix,
readline, Reflection, session, shmop, SimpleXML, soap, sockets, SPL,
sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml,
xmlreader, xmlwriter, xsl, zip, zlib
代码
$wsdlFile = **fullpathtowsdlfile**;
$context = stream_context_create([
'ssl' => [
// set some SSL/TLS specific options
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
],
'http'=>array(
'user_agent'=>'SoapClient'
)
]);
$options = array(
'trace'=>1,
'location'=>self::$wsdl,
'exception'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE,
//'stream_context'=>$context, // disable but leaved for reference.
'local_cert'=> **fullpath**,
'soap_version'=> SOAP_1_1
);
$client = new \SoapClient($wsdlFile, $options);
还尝试了 Url 而不是 Wsdl 文件,我得到了同样的错误。我可以通过 telnet domain 80 、 telnet domain 413 和我的浏览器连接到 url。
我错过了什么?任何帮助将不胜感激。
【问题讨论】:
-
是公共 WSDL 还是受某种身份验证系统保护(例如 IP 地址检查)?可以发一下 WSDL 地址吗?
-
是一个内网wsdl :(