如何在Pentaho Kettle中设置HTTP POST的Content-Type?

3
我需要向一个API(HubSpot)发布JSON,API要求内容类型为“application/json”。我尝试使用HTTP POST设置内容类型,但未成功。在搜索互联网时,我看到了这个页面,并阅读了有关其补丁的信息。但我不知道如何应用此补丁。我使用的kettle版本是“5.0.1-stable”,构建日期为“2013-11-15_16-08-58”。
我需要在标头中设置内容类型为“application/json”,以将JSON数据发布到API。

你尝试过夜间构建或旧版本吗?看起来这是一个重新出现的旧 bug。 - Brian.D.Myers
我尝试了版本4.4.0稳定版和构建日期2012-11-21 16.02.21。 但结果相同。有人能帮忙吗?这非常紧急。 - Manish Verma
终于完成了。HubSpot是REST API。我不知道还有REST客户端工具。我使用它,效果很好。 但是对于那些想要设置内容类型的人来说,这个问题是有效的。 - Manish Verma
你可以回答自己的问题。我非常有兴趣看看你找到了什么。 - Brian.D.Myers
1个回答

1
我知道你已经找到了一个解决方法,但是对于那些仍然需要在PDI中设置HTTP POST的Content-type的人来说,这个错误可能会引起兴趣。
简而言之,一些Web服务器在Content-Type中使用双引号设置字符集,例如:
Content-Type: text/xml;charset="utf-8"

这可能导致出现java.io.IOException: Uknown encoding "utf-8"错误。您可以按照此处建议更改步骤的代码。

你能否发布实际的解决方案,而不是链接到受密码保护的网站? - Francois Botha
@FrancoisBotha,简短回答:不行。我不知道你是否注意到或对Pentaho的历史有多了解,但当我在七年前提交这个答案时,PDI是Hitachi刚刚收购的开源项目。我假设他们的Jira项目现在仅限Hitachi组织成员查看,因此我无法访问我引用的链接-同样是七年前的情况。 - Yuval Herziger
这就是为什么链接回答不被鼓励的原因。https://meta.stackexchange.com/a/8259/200687 - Francois Botha
首先,它们不是“被反对”的,它们应该补充实际的答案,这是一个绝对有效的观点 - 我完全同意你的观点。其次,我无法记住实际的错误和答案,所以你可以认为这个“案例”已经结束并继续前进。 - Yuval Herziger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接