JAX-WS为WebParam更改名称空间

时间:2011-09-12 16:33:26

标签: web-services namespaces jaxb jax-ws cxf

我们正在使用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);

我们真的迷失了......

谢谢,

1 个答案:

答案 0 :(得分:2)

我认为您需要升级到更新(且支持)的CXF版本。我相信这是一个很久以前修复的错误。