首页 > 解决方案 > 使用 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中设置哪些参数

标签: phpsoapwsdlnetsuite

解决方案


添加 http_proxy 和 http_port 解决了这个问题。在浏览器中,我们已经配置了代理和端口,因此 wsdl 已经加载。


推荐阅读