我想为我的端点使用PATCH动词,但我不断收到错误。
我替换了一些链接,因为SO不让我发布消息,因为过滤器认为这是垃圾邮件,我添加了一个pastebin链接,因为我不能以任何其他方式发布XML。
据我所知,我的Camel版本(2.15.1.redhat-621084)支持使用PATCH(据我所知,2.11.X之前的旧版本不允许它),尽管这甚至不应该是一个问题,因为我认为问题在于XML验证本身。
IntelliJ还警告我不能在那里使用PATCH。
当我在kraf(karaf)中启动bundle时,我遇到的错误是:
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'patch'. One of '{"http://camel.apache.org/schema/blueprint":verb, SAMEURL:delete, SAMEURL:get, SAMEURL:head, SAMEURL:post, SAMEURL:put}' is expected.
字符集
我的blueprint.xml(编辑了一些信息)是https://pastebin.com/rd3Ukj65
如果我将端点定义更改为
<verb
uri="/users/{userId}/X"
method="PATCH"
produces="application/json"
>
<to uri="direct:updateX"/>
</verb>
型
但是我不应该为了使用补丁而定义一个新的动词。
有人能帮我理解我错过了什么吗?
1条答案
按热度按时间ajsxfq5m1#
不,这在旧的Camel版本中是正确的。PATCH在那个时候还没有被包括在内,你可以使用通用动词来自己定义它