首页 > 解决方案 > com.microsoft.azure.documentdb.DocumentClientException 日期标头不符合要求的格式

问题描述

我正在使用 SQL Api 开发 Azure Cosmos DB。我正在使用来自以下位置的 Azure SDK:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-documentdb</artifactId>
    <version>2.4.7</version>
</dependency>

为了将项目插入集合。

  DocumentClient documentClient = setupDocumentClient();
  ResourceResponse<Document> document = documentClient.createDocument("/dbs/" + databaseName + "/colls/" + colName, entity, new RequestOptions(), true);

我遇到了一个例外:

com.microsoft.azure.documentdb.DocumentClientException:消息:{“错误”:[“日期标头不符合要求的格式。请确保以 GMT 格式提供时间并符合 RFC 1123 日期时间规范。” ,"日期标头不符合要求的格式。请确保以 GMT 格式提供时间并符合 RFC 1123 日期时间规范。"]}

奇怪的是,我在另一个项目中使用了相同的代码,并且没有出现此异常,并且数据已正确插入到 Azure Cosmos DB。也许有人遇到过这个问题并找到了解决方案?

标签: javaazureazure-cosmosdbazure-cosmosdb-sqlapiazure-java-sdk

解决方案


我通过添加以下内容在我的代码中解决了这个问题:

<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>LATEST</version>
</dependency>

在此之后我运行mvn clean install并且异常消失了。

显然,我项目的其他依赖项之一是指旧的joda-time依赖项。


推荐阅读