使用php soapclient工具包显示访问netsuite wsdl无法加载wsdl
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用php soapclient工具包显示访问netsuite wsdl无法加载wsdl相关的知识,希望对你有一定的参考价值。
我必须访问netsuite wsdl。我已经下载了由netsuite团队在以下网址php toolkit
中提供的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时,它显示致命错误:未捕获的SoapFault异常:[WSDL] SOAP-ERROR:解析WSDL:无法加载。当我从浏览器访问url时,wsdl正在加载,因此没有firewal阻塞
我尝试了以下选项
// 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已加载。
以上是关于使用php soapclient工具包显示访问netsuite wsdl无法加载wsdl的主要内容,如果未能解决你的问题,请参考以下文章
PHP - SoapClient::SoapClient 无法打开流:连接被拒绝
是否可以将元素名称映射到 php 类(SoapClient)
python 有没有php里面的soapclient这样的东西