使用多个参数wordpress blog从PHP调用https asmx web服务

时间:2015-06-08 07:34:29

标签: php wordpress web-services https

我正在尝试从我的PHP博客中调用HTTPS ASMX服务

这是我的代码



$param1="Web Submission";
$param2="Lead";
$param3="flase";
$param0=$comment_content;
if (!empty($comment_content)){
$client = new SoapClient("https://devop.setars.com/webservice/sellblog.asmx?wsdl");
$params->Notes=$param0;
$params->Type=$param1;
$params->PURPOSE=$param2;
$params->IsMail=$param3;
$result=$client->AddActivity($params);
}




当我在本地使用HTTP进行测试时,它运行正常,但在使用HTTPS托管时,它似乎没有正确拨打电话。



    $param1="Web Submission";
$param2="Lead";
$param3="flase";
$param0=$comment_content;
if (!empty($param0)){
$client = new SoapClient("http://localhost:52078/WebService/SellBlog.asmx?wsdl");
$params->Notes=$param0;
$params->Type=$param1;
$params->PURPOSE=$param2;
$params->IsMail=$param3;
$result=$client->AddActivity($params);
}




我也试过这个但没有解决方案



$soap_options = array(
        'trace'       => 1, 
        'exceptions'  => 1 ,
      );
$wsdl = "https://dev234.sentsis.com/webservice/sellblog.asmx?WSDL";

$param1="Web Submission";
$param2="Lead";
$param3="flase";
$param0=$comment_content;
if (!empty($comment_content)){
$client = new SoapClient( $wsdl, $soap_options);
$params->Notes=$param0;
$params->Type=$param1;
$params->PURPOSE=$param2;
$params->IsMail=$param3;
$result=$client->AddActivity($params)->AddActivityResult;
}




与HTTPS相比,从PHP到HTTP服务进行服务调用之间有什么区别吗?

1 个答案:

答案 0 :(得分:0)

如果要连接到仅支持SSLv2 / 3和/或TLS 1.0(无TLS 2或3)的服务器,请通过设置适当的流上下文告诉SOAP客户端是否出现连接错误,例如:< / p>

<?php
  $opts = array(
    'ssl' => array('ciphers'=>'RC4-SHA')
  );

  $client = new SoapClient(
    'https://example.com/?wsdl',
    array ( "encoding"=>"ISO-8859-1",
    'stream_context' => stream_context_create($opts)
    // your options
    );
?>

您可能需要禁用WSDL的SOAP缓存,以便SOAP客户端使用新的上下文。