如何将DateTime对象传递给用PHP中的C#编写的Soap web服务


How can I pass a DateTime object to a Soap web service written with C# from PHP?

我正在PHP应用程序中使用一个用C#编写的API。特定方法所需的参数之一的类型为DateTime。我已经尝试过用PHP&SOAP,但这些都不起作用。

我正在使用Soap扩展。此外,该web服务是由政府机构编写的,我相信每个使用过政府API的人都知道让他们改变自己的论点是多么困难。因此,如果解决方案中不包含"与他们交谈并说服他们",我将不胜感激。

实际上应该非常简单。

大多数Web服务都将日期时间作为ISO8601字符串写入SOAP消息中。例如,2014-11-15T18:32:17+00:00

以下是使用PHP:编写ISO8601格式字符串的几个建议

  • 如何使用PHP 以ISO8601格式显示日期

    <?= date("c", strtotime($post[3])) ?>

    new DateTime('17 Oct 2008'))->format('c');

强烈建议:

获取SoapUI的副本,查看在PHP服务器和C#/SOAP服务器之间传递的实际SOAP消息:

  • http://www.soapui.org/