博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用JDK开发web service
阅读量:7013 次
发布时间:2019-06-28

本文共 1708 字,大约阅读时间需要 5 分钟。

服务器端

    编码:
        a. 创建一个基于jdk6以上版本的java工程
        b. 定义SEI web service Endpoint interface(web service终端接口)
            @WebService
            public interface HelloWS {
                @WebMethod
                public String sayHello(String name);
            }
        c. 定义SEI的实现类:
            @WebService
            public class HelloWSImpl implements HelloWS {
                @Override
                public String sayHello(String name) {
                    System.out.println("sayHello "+name);
                    return "hello "+name;
                }
            }
    发布:
        public class Server {
            public static void main(String[] args) {
                //客户端发送web service请求的url
               String address="http://127.0.0.1/tg_ws/helloWS";
                //处理请求的SEI对象
                HelloWS helloWS = new HelloWSImpl();
                //发布web service
                Endpoint.publish(address, helloWS);
                System.out.println("发布web service成功!");
            }
        }

   (注:我的要建一个ServerDelegate  在Server基础上点击 打开new=》other=》输入 web service 点击=》选择 create web service from java class=》打开Brouwse 输入你的测试类 最后勾上 Generate WSDL in project   会生成一个 * Delegate.java)

②. 客户端

    1. eclipse Web Service浏览器
        a. 查看Web Service所对应的WSDL文档:...?wsdl
        b. 使用eclipse访问
            请求体:SOAP Request Envelope
                <soapenv:Envelope>
                    <soapenv:Body>
                        <q0:sayHello>
                            <arg0>tt</arg0>
                        </q0:sayHello>
                    </soapenv:Body>
                </soapenv:Envelope>
            响应体:SOAP Response Envelope
                <S:Envelope>
                    <S:Body>
                        <ns2:sayHelloResponse xmlns:ns2="http://ws.java.atguigu.net/">
                            <return>hello tt</return>
                        </ns2:sayHelloResponse>
                    </S:Body>
                 </S:Envelope>

    2. 编码实现

        a. 创建客户端java应用
        b. 在应用的src下执行cxf的命令生成客户端代码:
            wsimport -keep http://127.0.0.1/tg_ws/helloWS?wsdl
        c. 编写客户端调用的测试代码,执行:
            public class Client {
                public static void main(String[] args) {
                    //创建SEI的工厂对象
                    HelloWSImplService factory = new HelloWSImplService();
                    //得到一个SEI实现类对象
                    HelloWSImpl helloWS = factory.getHelloWSImplPort();
                    //调用SEI的方法,此时才去发送web Service请求,并得到返回结果
                    String result = helloWS.sayHello("Tom");
                    System.out.println(result);
                }
            }
                    
        ③.请求过程记录:使用eclipse的tcp/ip工具进行请求的监控

转载地址:http://emhtl.baihongyu.com/

你可能感兴趣的文章
Redux助力美团点评前端进阶之路
查看>>
【闭包概念】关于闭包概念不同解读——你可以自己理解。
查看>>
More-iOS国际化一站式解决方案
查看>>
BCH一周年:从硬分叉到顺风顺水
查看>>
数据结构和算法面试题系列—排序算法之快速排序
查看>>
打破行业壁垒!阿里云OpenSearch开启个性化搜索里程碑
查看>>
Struts2第十二篇【模型驱动】
查看>>
Java多线程之并发安全经典案例-卖票
查看>>
从程序员的角度设计一个Java的神经网络
查看>>
一种在 Library 模块中调用 Application 模块功能的方法
查看>>
远程入侵原装乘用车(中)
查看>>
人手一份核武器 - Hacking Team 泄露(开源)资料导览手册
查看>>
一起撸个朋友圈吧 点赞列表背景问题修复
查看>>
面试官,你再问我 Bit Operation 试试?
查看>>
PSV 3.60 固化升级到 3.68 破解完全攻略
查看>>
Android 路由框架
查看>>
当Kotlin遇见RxJava多数据源
查看>>
vue踩坑记- Cannot find module 'wrappy'
查看>>
【实操干货】KVM命令管理虚拟机与性能优化
查看>>
前端架构思想:聚类分层
查看>>