php - 使用 php soapclient 工具包访问 netsuite wsdl 显示无法加载 wsdl
问题描述
我必须访问 netsuite wsdl。我已经下载php toolkit
了netsuite团队在以下网址http://www.netsuite.com/portal/developers/resources/suitetalk-sample-applications.shtml
我启用了 php_openssl 和 php_soap 扩展。
当我访问https://webservices.netsuite.com/wsdl/v2018_2_0/netsuite.wsdl url 时,它显示 Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from . 当我从浏览器访问 url 时,正在加载 wsdl,因此没有防火墙阻塞
我尝试了以下选项
// Option 1
$options['stream_context'] = stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
));
// Option 2
$options['stream_context'] = stream_context_create([
'ssl' => [
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
],
]);
//Option 3
$context = stream_context_create(
[
'ssl' => [
'ciphers' => 'DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:KRB5-DES-CBC3-MD5:KRB5-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC2-CBC-MD5:KRB5-RC4-MD5:KRB5-RC4-SHA:RC4-SHA:RC4-MD5:RC4-MD5:KRB5-DES-CBC-MD5:KRB5-DES-CBC-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP-KRB5-RC2-CBC-MD5:EXP-KRB5-DES-CBC-MD5:EXP-KRB5-RC2-CBC-SHA:EXP-KRB5-DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-KRB5-RC4-MD5:EXP-KRB5-RC4-SHA:EXP-RC4-MD5:EXP-RC4-MD5',
],
]);
也禁用了 wsdl_cache
但似乎没有任何效果。让我知道如何访问它我必须在soapclient中设置哪些参数
解决方案
添加 http_proxy 和 http_port 解决了这个问题。在浏览器中,我们已经配置了代理和端口,因此 wsdl 已经加载。
推荐阅读
- c# - AES 加密和输入字符串编码
- c# - 在 FileStream 上撤消 DeleteOnClose
- javascript - Angular - 渲染没有FormArray的子控件集合?
- typescript - 如何检查打字稿中的空字符串
- hadoop - 为什么在伪分布式模式下需要 hadoop 命令?
- java - 当两种类型不同时如何将一个哈希映射的值放入另一个哈希映射
- php - 检查 where 子句 SQL PHP 中的拼写错误
- r - 将“2014-05”转换为日期格式为“2015 年 5 月”,以便在 R 中的 ggplot 中显示
- javascript - 在render()中显示featch json数据时反应本机错误
- java - 没有数组的序列中的最大最小奇数