Uncaught SoapFault exception: [HTTP] Proxy Authentication Re



使用php Soapclient,我得到了异常:

Uncaught SoapFault exception: [HTTP] Proxy Authentication Required 

但是当使用具有相同代理设置的web浏览器时,不指定该代理的任何凭据,我可以连接获得XML响应。

系统部门确保不需要认证。另外,我使用SoapUI只是配置代理来测试邮件,不需要凭据,我可以调用WS中的方法。

为什么php SoapClient抛出这个异常?下面是我使用的代码…

$this->client   = new SoapClient( null, array(
            'location'          => 'http://www.xxxxx.dev',
            'uri'               => self::URI,
            'proxy_host'        => self::PROXY_HOST, 
            'proxy_port'        => self::PROXY_PORT,
        ) );

下面解决异常

$this->client = SoapClient( self::URL , array(  
    'proxy_host'        => self::PROXY_HOST,
    'proxy_port'        => self::PROXY_PORT,
    'authentication'    => SOAP_AUTHENTICATION_BASIC,
    'stream_context'    => stream_context_create(array(
    'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => false
        )
    ))
));

误解了文档,"WSDL文件的URI,如果在非WSDL模式下工作则为NULL",并且我期望第一个参数作为文件,而不是URL。在一些尝试中,我已经尝试过,但忘记使用SSL参数设置流上下文以跳过对等体验证。(可能SOAP_AUTHENTICATION_BASIC不是必需的)

希望对大家有所帮助

最新更新