zoukankan      html  css  js  c++  java
  • 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。

    喜欢请关注微信公众号:码农小麦

  • 相关阅读:
    Linux 全盘备份恢复工具(Clonezilla)
    Dremel琢美电磨机配件指南
    智能设备常用电机入门指南(实物+原理图)
    硬件入门 之 20种视频接口线
    【Spring源码分析】Bean加载流程概览
    面试题:Spring为什么默认bean为单例?
    @Autowired @Resource @Qualifier的区别
    Spring的接口InitializingBean、BeanPostProcessor以及注解@PostConstruct、bean的init-method的执行先后顺序
    Spring Bean的生命周期(非常详细)
    spring中BeanFactory和FactoryBean的区别
  • 原文地址:https://www.cnblogs.com/render-inside/p/6029339.html
Copyright © 2011-2022 走看看