当前位置: 首页 > 知识库问答 >
问题:

Google pub/sub模拟器-使用Java的http.post发布消息抛出400个错误请求

终育
2023-03-14

我有Google Pub/Sub模拟器在我的机器上本地运行。我可以使用YARC(另一个REST客户机)发布消息,其中包含以下细节:

{
  "messages": [
    {
      "attributes": {
        "1": 1
      }
    }
  ]
}

这将导致200响应,我可以在模拟器的控制台输出中看到消息被接收。

现在,当我尝试使用Java的HTTP库进行同样的操作时,我总是得到400个错误。代码如下:

String payload = "{\"messages\":[{\"attributes\":{\"1\":1}}]}";

HTTP.Response response = HTTP.POST(options.getPubsubRootUrl() + "/v1/projects/my-project/topics/my-project-test:publish", payload);

我检查了调试器中的标头,发现它们是:

这里有什么明显的东西我错过了吗?

共有1个答案

龚沛
2023-03-14

原来我认为是标准Java类的HTTP类是org.neo4j.test.server.HTTP,当我从代码的其他地方复制这一行时,它在Eclipse中自动导入。

我认为,这个特定的实现是为了与neo4j测试服务器一起工作而设计的,并且必须做一些超出简单HTTP请求的事情(添加一些头或其他东西),从而导致请求与我从YARC发送的请求有所不同。

 类似资料:
  • 当我从JUnit测试用例向Rest服务发送请求时,我收到了400个坏请求。我的密码。错误日志快结束了。请帮我解决这个问题。当我通过直接在URL中传递参数来调用服务器为:restTemplate.getForObject(BASE_URL+“/Remote?ServiceName=SimpleService&Source=Web”,HelloWorld.Class)时,不会出现任何错误。但如何通过使

  • 问题内容: 我只是使用a 从这样的用户那里获取最新的tweet: 这在我的本地主机上运行良好,但是当我将其上传到服务器时会引发以下错误: 警告: file_get_contents(http://api.twitter.com/1/statuses/user_timeline/User.json)[function.file- get-contents]:无法打开流:HTTP请求失败!HTTP /

  • 我尝试发送一个删除请求到我的服务器,但我得到一个400坏的请求错误代码。我找了很多,但我找不到任何有帮助解决方案。当我尝试与邮差,请求工作良好。 这是来自Postman的curl命令的外观: 这是我的Java代码: 我还尝试在头中不设置Content-Type,但当我得到一个415错误时,我还删除了getBodyContentType()方法,但这也没有改变。 还有什么能帮上忙的点子吗?

  • 我真的不知道我的java代码中的错误在哪里。我必须使用REST API登录Kofax Total Agility。为此,我尝试使用postman测试我的json是否正确构建。以下是我的登录JSON: 我得到了肯定的回答: 到目前为止,一切顺利。为此,我创建了模型: 对于响应: 这些类应该允许我构建 json。现在,我创建了一个方法,用于生成请求对象并期望响应对象。 当我调用这部分代码时,我注意到我

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!