gpt4 book ai didi

ruby-on-rails - 如何使用 Net::HTTP::Post 将 XML 发布到 RESTFUL Web 服务?

转载 作者:数据小太阳 更新时间:2023-10-29 01:40:17 25 4
gpt4 key购买 nike

我无法让它正常工作,所以任何帮助将不胜感激!基本上,request.body 包含 Web 服务的有效 XML,如下所示:

<somedata>
<name>Test Name 1</name>
<description>Some data for Unit testing</description>
</somedata>

...但是服务返回空 XML。请注意,返回的 id 字段表明它确实访问了数据库,但名称和描述字段为 nil:

<somedata>
<id type='integer'>1</id>
<name nil='true'></name>
<description nil='true'></description>
</somedata>

我已经使用 Poster 手动测试了 RESTFUL 服务,它工作正常。

代码如下:

url = URI.parse('http://localhost:3000/someservice/')
request = Net::HTTP::Post.new(url.path)
request.body = "<?xml version='1.0' encoding='UTF-8'?><somedata><name>Test Name 1</name><description>Some data for Unit testing</description></somedata>"
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}

#Note this test PASSES!
assert_equal '201 Created', response.get_fields('Status')[0]

有没有人知道为什么 XML 帖子中的数据没有持久化?

最佳答案

在对服务一无所知的情况下,这只是一个猜测,但是......服务是否需要 Poster 设置的特定 header ,而你不是?

关于ruby-on-rails - 如何使用 Net::HTTP::Post 将 XML 发布到 RESTFUL Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/629632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com