7

我有很多用@WebService(targetNamespace = "mynamespace"). 每个@WebResult@WebParam都有相同的定义targetNamespace = "mynamespace"

有没有办法将 JAX-WS(Metro 实现)配置"mynamespace"为默认用作 targetNamespace?

我想使用没有任何属性的注释并摆脱重复的声明,就像约定优于配置一样。

4

1 回答 1

3

仅将 放在targetNamespace服务端点接口服务实现 bean中。

/**
* Annotated Implementation Object
*/
@WebService(
    name = "CustomerService",
    targetNamespace = "http://org.company.services"
)
public class CustomerService {
    @WebMethod
    @WebResult(name="CustomerRecord")
    public CustomerRecord locateCustomer(
        @WebParam(name="FirstName") String firstName,
        @WebParam(name="LastName") String lastName,
        @WebParam(name="Address") USAddress addr) {
        ...
    }
};

如果@WebResult@WebParam没有targetNamespace,则默认为targetNamespaceWeb 服务的 。

另一方面,您可以避免使用所有注释,并且仅在@WebService不需要使用 JAX-B 进行自定义的情况下才使用。

在 JavaTM 平台的 JSR-181 Web 服务元数据中查看更多信息

于 2013-06-04T20:49:21.267 回答