我正在尝试连接到WebService SOAP。 该服务要求我们在soap调用的HTTP标头中添加自定义参数
$context = array('http' =>
array(
'header' => "APIToken: $api_token\r\n"
)
);
$soap_options = array(
'stream_context' => stream_context_create($context),
'encoding' => 'UTF-8',
'exceptions' => TRUE,
'trace' => true,
'local_cert' => 'mycert.pem',
'passphrase'=>'xxx',
'location'=>$this->url_soap_dev
);
$soap_client = new SoapClient('soap.wsdl', $soap_options);
$args = array(
'param1' => $var,
'param2' => 0,
'optionalParameters'=>array()
);
$ret = $soap_client->RemoteFunction(array('parameter'=>$args));
这是我的请求标题:
POST /server/soap HTTP/1.1
Host: domain.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.2.6-1+lenny16
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 400
我可以在哪里添加自定义参数?
THX。
答案 0 :(得分:2)
此过程适用于PHP> = 5.3
以下是添加此功能的补丁 https://bugs.php.net/bug.php?id=49853
答案 1 :(得分:0)
使用php 5.6,我得到了顶部的示例代码,没有任何功能更改,我所做的就是将WSDL,标头值更改为我正在使用的服务器。