PHP 5.3和SoapClient:无法更改HTTP标头

时间:2018-11-16 11:45:23

标签: php http soap header content-type

我试图更改Soap调用期间PHP发送的HTTP标头。 我需要将以下内容发送到我的服务:

Content-Type:文本/ xml; charset = UTF-8

根据我所看到的所有变通办法,我应该使用当前使用的上下文:

   $STC = stream_context_create(array(
        'http' => array(
            'header' => 'Content-type: text/xml;charset=UTF-8'
        ),
    ));

    $opt = array(
        "soap_version" => SOAP_1_2,
        "login" => $this->LOGIN,
        "password" => $this->PASSWORD,
        "authentication" => SOAP_AUTHENTICATION_BASIC,
        "trace" => true,
        "exceptions" => 1,
        "cache_wsdl" => WSDL_CACHE_NONE, 
        "connection_timeout" => 30,
        'stream_context' => $STC
    );
    $soapClient = new SoapClient($this->WSDL, $opt );

问题是,无论我如何尝试,当我var dump我的Soap客户端发送的标头(使用__getLastRequestHeaders())时,我都会得到以下信息:

Content-Type:应用程序/ soap + xml; charset = utf-8; action =“”

我的呼叫失败,因为服务器需要正确的Content-Type。

我想念什么?为什么php不接受更改为期望的类型?

提前感谢您的想法!

0 个答案:

没有答案