<?php
 
$s = new SoapClient("http://www.abc.com/WebServices/Service1.asmx?wsdl",true);
  $s->soap_defencoding = 'UTF-8';
 $s->decode_utf8 = false;
  $result=$s->call('UserInfo',array('user'=> urldecode($_GET['username'])));     if   (!$err=$s->getError())   {   
   $list=explode(";",$result["UserInfoResult"]);
   array_pop($list);
  }   else   {   
  echo   '<tr> 
<td>
</td></tr>';  
  }
 ?>Service1.asmx这个web service里有个UserInfo函数,要把参数传进这个函数,返回结果集本来好好的,但是虚拟主机不给开soap拓展,那就不用白费力气了,,现在怎么弄curl改写

解决方案 »

  1.   

    $url="https://xxx/xml";$ch = curl_init ($url);
    $headers = array(
                "POST "."https://cxxx/integration/xml"." HTTP/1.0",
                "Content-type: text/xml;charset=\"utf-8\"",
                "Accept: text/xml",
                "Content-length: ".strlen($xmlcontent),
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);// Apply the XML to our curl call
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlcontent);$data = curl_exec($ch);
    if (curl_errno($ch)) {
    die('会议信息出错,有可能会议还未开始!');
    exit;
    } else {
    //var_dump($data);
    curl_close($ch);
    }
    //
    $succes='';
    $ciURL='';
    $token='';
    $xml = simplexml_load_string($data);
    $ciURL = $xml->body->ciURL;
    $token = $xml->body->token;
    var_dump( $xml );