我们正在使用JAX-WS与JAXB(2.1)结合使用。
首先,我们创建了链接到XSD类型的Java类。
然后,使用CXF(2.1.3),Spring(2.0.8)和JAX-WS,我们发布了一个来自JAXB类型的Webservice(实际上是一个@XmlType),如下所示:
@WebMethod(operationName = "addExample")
public @WebResult void addExample(
@WebParam(name = "EXAMPLE") EXAMPLETYPE exemple);
我们知道使用接口的包名称(反向)或使用@WebService注释我们可以定义的“targetNamespace”来发布web服务。事实上,我们是这样做的:
@WebService(targetNamespace = "http://blablabla")
此时,我们需要维护WebService的整个targetNameSpace,但我们需要更改@ java.jws.WebParam的命名空间(在我们的例子中是EXAMPLE param)。
有可能吗?注释永远不适合我们,做这样的事情:
@WebMethod(operationName = "addExample")
public @WebResult void addExample(
@WebParam(name = "EXAMPLE", targetNamespace = "http://thats.all.folks") EXAMPLETYPE exemple);
我们真的迷失了......
谢谢,
答案 0 :(得分:2)
我认为您需要升级到更新(且支持)的CXF版本。我相信这是一个很久以前修复的错误。