我试图更改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不接受更改为期望的类型?
提前感谢您的想法!