Java 在解开一条水线时遇到困难

Java 在解开一条水线时遇到困难,java,jaxb,wadl,Java,Jaxb,Wadl,我需要查询一些端点的WADL,并测试WADL中包含的所有端点。我正在使用JaxB将WADL解组到POJO中(我也尝试过Jackson,但遇到了另一个错误) 以下是XML的开头: <application> <grammars/> <resources base="https://gatewaydsapdev1.company.com/v2"> <resource path="/contents"> <res

我需要查询一些端点的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>
      ....
但我有一个例外:

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>
javax.xml.bind.UnmarshaleException:意外元素(uri:,local:“应用程序”)。预期的元素为,,,,,,,,,,,,,

我不知道如何给ObjectFactory提供它说缺少的数据。有人有什么建议吗?蒂亚

XML没有名称空间,而JAXB类有名称空间
http://wadl.dev.java.net/2009/02


要么将名称空间添加到XML中,要么将其从JAXB类中删除。

啊,我明白了。非常感谢!你能给我看看这个元素应该是什么样子吗?我尝试添加“xsi:schemaLocation=”wadl.xsd“>,但我得到了相同的错误。或者更好,如何从生成的代码中删除命名空间?@user1660256从生成的代码中删除命名空间更复杂。@user1660256另请参阅:
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>