嵌入为Web服务的SPI提供程序的Jetty不会将webfault发送给客户端
-
29-10-2019 - |
题
我正在一个项目中,我有一个用于提供html管理页面的嵌入式码头服务器,并且我需要集成一些Web服务。我使用jax-ws和javax xml注释来构建这些服务,并使用jetty SPI实现(jetty-jaxws2-spi)替换默认的HttpServerProvider: 通用标签
Web服务工作正常,但是当我引发webfault异常时,客户端仅获得HTTP 200结果代码,而没有正文内容。 我将httpserverprovider切换回默认实现,并且错误已正确发送到客户端。
我认为jetty-jaxws2-spi实现中缺少某些内容,但不知道是什么。
有什么想法吗?
- jetty-jaxws2-spi: https://svn.codehaus.org/jetty/jetty/tags/jetty-7.0.1.v20091125/jetty-jaxws2-spi/
更新: 这似乎是JAVA版本和JAX库之间的兼容性问题。
在认可目录中使用java7和jaxb-api和jaxb-impl(2.1.12),我得到: 通用标签
并导致默认的http响应(200)...
更新2
当我从认可目录中删除jaxb-impl和jaxb-api时,我就可以使用webfault了。 但是,如果这样做,我将无法从jersey获得Natural JSON表示法,需要jaxb 2.1.12。 该死的...
解决方案
已解决:
在我的认可的dir中添加JAX-WS RI 2.1.7和JAXB 2.1.12 JAR。
不隶属于 StackOverflow