1

我现在在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 值

我这应该是日期问题

4

1 回答 1

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' )));

希望这可以帮助。

于 2012-04-16T08:50:52.057 回答