如何在SOAP请求的curl头中添加ConfigurationName

时间:2017-03-27 11:52:13

标签: php api curl soap

我已经在那里使用PHP密码和用户名的CURL处理SOAP请求但是需要API一个额外的ConfigurationName,我在Header中添加了这个,但是响应显示错误

  

FailedAuthentication

以下是我的标题代码,请检查:

$headers=array(
"Content-type:text/xml;charset=\"utf-8\"",
"Accept:text/xml",
"Cache-Control:no-cache",
"Pragma:no-cache",
"SOAPAction:\"actionurl\"",
"Content-length:".strlen($xml_post_string),
"ConfigurationName: ConfigurationName",
);

$url=$soapUrl;
$ch=curl_init();
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERPWD,$soapUser.":".$soapPassword);//usernameandpassword-declaredatthetopofthedoc
curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_ANY);
curl_setopt($ch,CURLOPT_TIMEOUT,100);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$xml_post_string);//theSOAPrequest
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);

请协助我如何在标题中添加ConfigurationName的额外值。

1 个答案:

答案 0 :(得分:3)

我喜欢这个解决方案现在我已经在xml中设置了ConfigurationName,如下所示,我的脚本现在正在运行:

$xml_post_string .='<soap:Header>';
$xml_post_string .='<UserID></UserID>';
$xml_post_string .='<Password></Password>';
$xml_post_string .='<ConfigurationName></ConfigurationName>';
$xml_post_string .='</soap:Header>';