WebService -- Java 实现之 CXF (WebService 服务器端接口)
1. 使用Maven创建一个quickstart项目
2. 引入依赖的Jar包
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>3.1.5</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.5</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>3.1.5</version> </dependency>
3. 编写Service 接口 + 实现类
package com.example.tuo.webservice;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHello(String sb);
}
package com.example.tuo.webservice.impl; import javax.jws.WebService; import com.example.tuo.webservice.HelloWorld; @WebService public class HelloWorldImpl implements HelloWorld{ public String sayHello(String sb) { // TODO Auto-generated method stub return "Hello world," +sb; } }
4. 启动服务
package com.example.tuo.server; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; import com.example.tuo.webservice.HelloWorld; import com.example.tuo.webservice.impl.HelloWorldImpl; public class Server { public static void main(String[] args){ System.out.println("web service starting..."); JaxWsServerFactoryBean wsSvrFactoryBean = new JaxWsServerFactoryBean(); String address = "http://127.0.0.1/helloWorld"; wsSvrFactoryBean.setAddress(address); wsSvrFactoryBean.setServiceClass(HelloWorld.class); HelloWorld implementor = new HelloWorldImpl(); wsSvrFactoryBean.setServiceBean(implementor); wsSvrFactoryBean.create(); System.out.println("web service started..."); } }
5. 访问服务
至此,我们的第一个基于CXF的webservice已经编写完成并发布出来了。