Apache CXF - 为客户提供SEI

时间:2012-03-18 21:16:12

标签: java web-services jax-ws cxf

对于客户创建Web服务的apache cxf客户端,如果他们使用JaxWsProxyFactoryBean,则需要端点地址和SEI代码。关于提供端点地址没有问题,但是你如何提供SEI?您只需在jar中导出接口并将jar提供给客户?每次更改SEI时,您必须与所有客户联系并再次给罐子?

我的意思是下面示例中的IDataService接口:

public static void main(String[] args) throws SomeException {  

    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    factory.getInInterceptors().add(new LoggingInInterceptor());
    factory.getOutInterceptors().add(new LoggingOutInterceptor());
    factory.setServiceClass(IDataService.class);
    factory.setAddress("http://localhost:8080/WSTest/services/dataService");
    IDataService client = (IDataService) factory.create();

}

1 个答案:

答案 0 :(得分:3)

理想情况下,您应该只是给他们服务的WSDL - WSDL应该在这里使用合同,他们可以使用他们可用的任何工具生成他们自己的模板集 - wsdl2java等。

如果客户端是公司内部的,那么是的,您也可以创建一个只包含接口,类型,消息的瘦项目,将其打包为jar并通过一些内部存储库提供jar,假设您的接口不经常发生,即使发生变化,也会重新发布到内部存储库。