由于错误的时间错误,我无法将XML文件发送到数据库。项目的简短摘要:
我创建了一个通过prestashop webservice检索,发送和更新数据的应用程序。该应用程序是现有prestashop应用程序的扩展。使用Web服务,所有数据都通过XML文档传递。
我有以下两种情况。
1。向数据库发送新值:
当我向数据库发送新值时,让我们说一个新产品。一切都以奇怪的方式运作良好。 HTTP响应头如下:
HTTP/1.1 200 OKDate: Thu, 26 Oct 2017 10:35:21 GMTServer: Apache/2Access-Time: 1509014121X-Powered-By: PrestaShop WebservicePSWS-Version: 1.7.2.4Execution-Time: 0.026Content-Sha1: SomeStuff; HttpOnlyUpgrade: h2,h2cConnection: UpgradeCache-Control: max-age=2592000Expires: Sat, 25 Nov 2017 10:35:21 GMTVary: Accept-Encoding,User-AgentTransfer-Encoding: chunkedContent-Type: text/xml;charset=utf-8
但实际时间是2小时后。仍然正确发送XML文档,将值添加到数据库中,time_add和time_upd从服务器获取正确的时间,在这种情况下:2小时后:12:35:41。
所以发送一个新值是没问题的。
2。更新值(此处是问题发生的地方)
更新值时,我将首先选择正确的数据库行。然后我将使用一些新值更新值。
一切正常,表单发送值,HTTP标头捕获它们并尝试通过XML发送部分发送值。 但是 HTTP响应标头再次从2小时前检索时间,在这种情况下会显示以下错误:
HTTP RESPONSE HEADER
HTTP/1.1 404 Not Found
Date: Thu, 26 Oct 2017 10:40:52 GMT
Server: Apache/2
X-Powered-By: PHP/7.0.23
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Link: <https://MySite.nl/wp-json/>; rel="https://api.w.org/"
Upgrade: h2,h2c
Connection: Upgrade
Vary: Accept-Encoding,User-Agent
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
XML发送尝试发送但由于dateTime错误而被拒绝。这就是奇怪的地方,因为我检查了服务器时间,那里没有问题。服务器时间是正确的12:40:...
所以我的HTTP标题比servertime晚了2个小时。
所以我的问题是:
是否有任何解决方案,或者是否有其他人遇到同样的问题?
我希望我的问题描述清楚,如果不是,请告诉我,我会更新问题。
一如既往,提前致谢!
答案 0 :(得分:0)
所以由于关于时区等问题的评论我发现了问题并解决了它。
使用prestashop webservice时,会在原始prestashop应用程序上创建配置文件。在配置中,时区未设置为coreect。
@Quentin获得解决方案的全部学分。
谢谢!