datetime数据类型在soap php中不起作用

aza*_*mfa 2 php xml soap

这是我的代码

 $c = new soapclient('http://www.redbus.in/WS2/BookingService.asmx?wsdl',
     array('authentication' => array('LoginID' => 'x','Password'=>'x')));

  $timezone = new DateTimeZone('UTC');
  $time='2012-04-17T16:50:45';
  $date = new DateTime($time,$timezone);
  $sourceid=array('SourceID'=>'244','DestinationID'=>'477','DateOfJourney' =>$date);
  $stockprice = $c->GetAvailableRoutes($sourceid);

   print_r($stockprint);
Run Code Online (Sandbox Code Playgroud)

它不适用于datetime格式的数据类型变量

它显示这样的错误

致命错误:未捕获的SoapFault异常:[soap:Client]服务器无法读取请求.---> XML文档中存在错误(2,252).--->字符串''不是有效的AllXsd值.在E:\ xampplite\htdocs\index1.php:9堆栈跟踪:#0 [内部函数]:SoapClient - > __ call('GetAvailableRou ...',数组)#1 E:\ xampplite\htdocs\index1.php( 9):在第9行的E:\ xampplite\htdocs\index1.php中抛出的SoapClient-> GetAvailableRoutes(数组)#2 {main}

Tho*_*sen 9

使用PHP的SOAP服务时遇到了类似的问题.我用它修复了它:

$date->format('c');

(ISO 8601日期,在PHP 5中添加,看起来像:2004-02-12T15:19:21 + 00:00)