使用JAX-WS + JAXB作为返回类型的接口

时间:2012-03-13 20:19:53

标签: java jaxb cxf

我想我在这里只是缺少一些简单的东西,但这就是我正在做的工作......

@WebService
public interface MyService {
     public AnInterface doStuff();
}

以下是我尝试过的一些内容。全部使用CXF 2.5.2 + Spring on Weblogic 10.3.4 ...

  1. 在MyService接口和AnInterface上使用@XmlSeeAlso将JAXB指向AnInterfaceImpl类。这仍然导致臭名昭着的JAXB无法处理接口异常。
  2. 在方法上使用@XmlElementReference,但这与第(1)项具有相同的效果,似乎是属性序列化
  3. 在方法上使用@ResponseWrapper,但我的理解是CXF自动执行此操作(Bare vs Wrapped),但我可能错了。虽然这允许在运行时创建WSDL,但总是返回一个默认对象。也许我误解了这个注释应该如何工作。
  4. 我猜有一些方法可以轻松注释AnInterface应该通过
    公开  来自AnInterfaceImpl课程的MyService非常容易,但我错过了一些关键且简单的步骤。

1 个答案:

答案 0 :(得分:1)

诀窍似乎是在@XmlJavaTypeAdapter所描述的目标接口上使用here。对我而言,为什么其他方法似乎失败的原因并不明显。