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。

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

  • 相关阅读:
    PostBUILD Event Command Line
    vue 中 $set与$delete的使用
    前端动画必知必会:React 和 Vue 都在用的 FLIP 思想实战
    根据JSON自动构建的vue筛选框组件
    手摸手带你理解Vue的Computed原理
    Flutter开发初探
    实战技巧,Vue原来还可以这样写
    你应该知道的Vue高级特性
    如何去除vue项目中的console内容
    vue: 组件之间传值
  • 原文地址:https://www.cnblogs.com/render-inside/p/6029339.html
Copyright © 2011-2022 走看看