gpt4 book ai didi

java - 解码 WADL 时遇到问题

转载 作者:行者123 更新时间:2023-12-02 11:34:07 29 4
gpt4 key购买 nike

我需要查询一些端点的 WADL,并测试 WADL 中包含的所有端点。我正在使用 JaxB 将 WADL 解码为 POJO(也尝试过 Jackson,但遇到了另一个错误)。

这是 XML 的开头:

<application>
<grammars/>
<resources base="https://gatewaydsapdev1.company.com/v2">
<resource path="/contents">
<resource path="/labels">
<method name="GET">
<request>
<param name="include" style="query" type="string"/>
<param name="q" style="query" type="string"/>
<param name="offset" style="query" type="string"/>
<param name="limit" style="query" type="string"/>
<param name="flush" style="query" type="boolean"/>
</request>
<response>
<representation element="Response" mediaType="application/json;charset=utf-8"/>
</response>
</method>
</resource>
....

这是解码代码:

JAXBContext jaxbContext = JAXBContext.newInstance(WadlApplication.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

StringReader reader = new StringReader(xml);
WadlApplication application = (WadlApplication) unmarshaller.unmarshal(reader);

但是我得到了这个异常:

javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"application"). Expected elements are <{http://wadl.dev.java.net/2009/02}application>,<{http://wadl.dev.java.net/2009/02}doc>,<{http://wadl.dev.java.net/2009/02}grammars>,<{http://wadl.dev.java.net/2009/02}include>,<{http://wadl.dev.java.net/2009/02}link>,<{http://wadl.dev.java.net/2009/02}method>,<{http://wadl.dev.java.net/2009/02}option>,<{http://wadl.dev.java.net/2009/02}param>,<{http://wadl.dev.java.net/2009/02}representation>,<{http://wadl.dev.java.net/2009/02}request>,<{http://wadl.dev.java.net/2009/02}resource>,<{http://wadl.dev.java.net/2009/02}resource_type>,<{http://wadl.dev.java.net/2009/02}resources>,<{http://wadl.dev.java.net/2009/02}response>

我不知道如何向 ObjectFactory 提供它所说丢失的数据。有没有人有什么建议? TIA!

最佳答案

您的 XML 没有 namespace ,而您的 JAXB 类却具有 namespace http://wadl.dev.java.net/2009/02

将命名空间添加到 XML 或将其从 JAXB 类中删除。

关于java - 解码 WADL 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070997/

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