对于客户创建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(); }
答案 0 :(得分:3)
理想情况下,您应该只是给他们服务的WSDL - WSDL应该在这里使用合同,他们可以使用他们可用的任何工具生成他们自己的模板集 - wsdl2java等。
如果客户端是公司内部的,那么是的,您也可以创建一个只包含接口,类型,消息的瘦项目,将其打包为jar并通过一些内部存储库提供jar,假设您的接口不经常发生,即使发生变化,也会重新发布到内部存储库。