泽西岛2-JAXB

泽西岛2-JAXB,jaxb,jersey,tomcat7,jax-rs,Jaxb,Jersey,Tomcat7,Jax Rs,使用Tomcat7中的Jersey 2 m13-3,我试图发布XML并让JAXB自动解组它 我的方法签名类似于: @POST @Consumes(MediaType.APPLICATION_XML) @Produces( {"text/xml"}) public Response setFoo( myXJC.generatedclass.Foo foo ) 我收到了400个错误的请求,但没有例外(我可以找到) 使用以下各项进行测试: @POST @Consum

使用Tomcat7中的Jersey 2 m13-3,我试图发布XML并让JAXB自动解组它

我的方法签名类似于:

@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces( {"text/xml"})
public Response setFoo(
        myXJC.generatedclass.Foo foo
        ) 
我收到了400个错误的请求,但没有例外(我可以找到)

使用以下各项进行测试:

@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces( {"text/xml"})
public Response setFoo() { ... }
我确信这个方法是在响应请求时被调用的

但只要我添加arg myXJC.generatedclass.Foo,它就不是了

我的类中是否需要一些特殊的东西来扩展javax.ws.rs.core.Application以使用JAXB?也许有什么相关的?有额外的新泽西专用罐子吗

我看到有一个泽西媒体莫西。我很乐意让它与MOXy一起工作,但理想情况下它也能与Sun/Oracle JAXB一起工作

我已经看了以下的源代码:

<dependency>
    <groupId>org.glassfish.jersey.examples</groupId>
    <artifactId>jaxb</artifactId>
    <version>2.0-m13-3</version>
</dependency>

org.glassfish.jersey.examples
jaxb
2.0-m13-3

但我仍然有问题。

结果表明,当我使用XJC从XSD生成类时,我在其中留下了一个不正确的目标命名空间

我发布的XML没有限定名称空间,但生成的类需要名称空间

一旦我解决了这个问题,一切都很顺利