前几天碰见同学问我在忙什么, 我说我在做开源软件CXF。随后的问题就是CXF能做什么? 我简单想了一下,要回答好这个问题还不太容易,因为一下子好多答案都浮现在我的脑海里。
CXF是 IONA的OpenSource ESB Celtix与 号称最快的Soap协议栈 XFire合并的 apache Incubate 项目。
CXF是一个JAX-WS API的实现。
CXF支持多种binding, transport。
CXF支持也支持除JAX-WS之外的服务模型,例如JBI,CORBA,SCA等。
好在我把CXF项目的网站的链接给同学发了过程,与此同时我也注意到了 Apache CXF: An Open Source Service FrameWork 这个标题。 我想这很概括的回答了前面那个问题CXF是做什么的。
HelloImpl.java
server.java
java 代码
- import org.apache.cxf.frontend.ServerFactoryBean;
- ...
- // Create our service implementation
- HelloWorldImpl helloWorldImpl = new HelloWorldImpl();
- // Create our Server
- ServerFactoryBean svrFactory = new ServerFactoryBean();
- svrFactory.setServiceClass(Hello.class);
- svrFactory.setAddress("http://localhost:8080/Hello") ;
- svrFactory.setServiceBean(helloWorldImpl); svrFactory.create();
在这里没有指定WSDL,CXF采用CodeFirst的服务发布方式,通过分析ServiceClass来构建ServiceModel,你可以通过http://localhost:8080/Hello?wsdl来获取具体的WSDL信息。
在后续的篇幅中我将向大家介绍Service-Modle的相关知识。