Apache Camel中的Blueprint(XML DSL)不允许我使用PATCH

c0vxltue  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(158)

我想为我的端点使用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>


但是我不应该为了使用补丁而定义一个新的动词。
有人能帮我理解我错过了什么吗?

ajsxfq5m

ajsxfq5m1#

不,这在旧的Camel版本中是正确的。PATCH在那个时候还没有被包括在内,你可以使用通用动词来自己定义它

相关问题