微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在JAX-WS Web服务中全局配置目标命名空间?

我有很多用@WebService(targetNamespace =“mynamespace”)注释的端点.每个@WebResult和@WebParam都有相同的targetNamespace =“mynamespace”定义.

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

我想使用没有任何属性的注释,并删除重复的声明,就像约定配置.

解决方法

仅将targetNamespace放在服务端点接口或服务实现中
豆.
/**
* 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,则认为
targetNamespace for
Web服务.

另一方面,如果您不需要使用JAX-B进行自定义,则可以避免使用所有注释并仅使用@WebService.

JSR-181 Web Services Metadata for the JavaTM Platform中查看更多

原文地址:https://www.jb51.cc/html/225822.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐