我现在在php中使用soap方法创建redbus api。
现在我的编码有一些日期时间问题。这些是代码
$c = new soapclient('...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);
它显示错误为 致命错误:未捕获的SoapFault异常:[soap:Client]服务器无法读取请求。 ---> XML文档中存在错误(2,252)。 --->字符串''不是有效的AllXsd值
我应该是日期问题
答案 0 :(得分:1)
好的,如果你需要PHP,那么它就是:
替换
$sourceid=array('SourceID'=>'244','DestinationID'=>'477','DateOfJourney' =>$date);
与
$sourceid=array('SourceID'=>'244','DestinationID'=>'477','DateOfJourney' =>str_replace($date->format( 'P' ), '', $date->format( 'c' )));
希望这有帮助。