日期:2014-05-17  浏览次数:20509 次

谁帮我改编用curl调用web service
<?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改写

------解决方案--------------------

------解决方案--------------------
$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 );

------解决方案--------------------
楼主估计想结贴结疯拉。呵呵