java Apache CXF为客户提供SEI
对于要创建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 楼答案
理想情况下,您应该给他们提供服务的WSDL—WSDL应该是这里的契约,他们可以使用任何可用的工具(wsdl2java等)生成自己的模板集
如果客户机是公司内部的,那么可以创建一个精简项目,只包含接口、类型、消息,将其打包为jar,并通过一些内部存储库提供jar,假设您的接口不太频繁,即使它发生了更改,也会重新发布到内部存储库