cyc1111 发表于 2017-3-2 08:38:04

jax-ws实现WebService

  关于WebService有很多框架了,CXF,Spring自己的webservice等等,因为cxf实际也是依赖spring的servlet,这里说明一下jax-ws,使用原生的servlet实现。
  比较简单,maven3+servlet3,servlet3不需要在web.xml中配置servlet了,直接贴代码了
  maven依赖:



      <dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.10</version>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>com.sun.xml.stream.buffer</groupId>
<artifactId>streambuffer</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>policy</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.glassfish.gmbal</groupId>
<artifactId>gmbal-api-only</artifactId>
<version>3.2.0-b003</version>
</dependency>
<dependency>
<groupId>org.glassfish.ha</groupId>
<artifactId>ha-api</artifactId>
<version>3.1.9</version>
</dependency>
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>1.7.7</version>
</dependency>      
  本篇文档不解释细节,先把webservice起来再说,WEB-INF下添加sun-jaxws.xml



<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
<endpoint name="hello" implementation="com.star.HelloImpl" url-pattern="/services/hello" />
</endpoints>
  下面写最简单的HelloWorld



import javax.jws.WebService;
/**
* WebService接口
*/
@WebService
public interface McSendSMS {
public String sayHello(String name);
}


import javax.jws.WebService;
@WebService(endpointInterface = "com.star.Hello")
public class HelloImpl implements Hello{
@Override
public String sayHello(String name) {
System.out.pring("666")
return "hello" + name;
}
}
  接下来直接发布,jetty,tomcat随便,这里使用jetty,好了,访问路径:http://localhost:8888/services/hello,客户端直接根据wsdl地址生成就OK。
页: [1]
查看完整版本: jax-ws实现WebService