当前位置:   article > 正文

webservice学习_webservice如何学习

webservice如何学习

1.Web service是什么?

1.基于Web的服务:服务器端整出一些资源让客户端应用访问

2.一个跨语言、跨平台的规范(抽象)

3.多个跨平台、跨语言的应用间通信整合的方案(实际)

2.为什么要用Web service

跨平台调用

跨语言调用

远程调用

3.什么时候使用

1.同一家公司的新旧应用之间

2.不同公司的应用之间     分析业务需求:天猫网与中通物流系统如何交互?

3.一些提供数据的内容聚合应用:天气预报、股票行情

4. 术语

WSDL:web service definition language

直译:WebService定义语言

1.对应一种类型的文件.wsdl

2,定义了web service的服务器端与客户端应用交互传递请求与响应数据的格式与方式

3.一个web service对应一个唯一的wsdl文档

SOAP:simple object access protocal

直译:简单对象访问协议

1.是一种简单的、基于HTTP和XML的协议,用于WEB上交换结构化的数据

2.soap消息:请求信息和响应信息

3.http+xml片断

SEI:WebService EndPoint Interface

直译:web service的终端接口

就是web service服务器端用来处理请求的接口

CXF:Celtix+XFire

一个apache的用于开发web service服务器端和客户端的框架

5. 开发WebService

开发手段:

--使用JDK开发

--使用CFX框架开发

5.1 使用JDK开发WebService

1)开发服务器端

  Web Service编码:-@WebService(SEI和SEI实现类) -WebMethod(SEI中的所有方法)

  发布Web Service: -Endpoint(终端,发布webservice)

2)开发客户端

 创建客户端应用编码方式访问

       -借助jdk的wsimport.exe工具生成客户端代码:

        wsimport -keep url      //url为wsdl文件的路径

      -借助生成的代码编写请求代码

服务端SEI:

  1. @WebService
  2. public interface HelloWS {
  3. @WebMethod
  4. public String sayHello(String name);
  5. }
  1. /**
  2. * SEI的实现
  3. * @author 12231
  4. *
  5. */
  6. @WebService
  7. public class HelloWSImpl implements HelloWS{
  8. @Override
  9. public String sayHello(String name) {
  10. System.out.println("server sayhello()"+name);
  11. return "Hello"+name;
  12. }
  13. }
  1. //发布web service
  2. public class ServerTest {
  3. public static void main(String[] args) {
  4. String address="http://localhost:8989/ws/hellows";
  5. Endpoint.publish(address, new HelloWSImpl());
  6. System.out.println("发布成功");
  7. }
  8. }

客户端

刷新下后文件就出来了

  1. public class ClientTest {
  2. public static void main(String[] args) {
  3. HelloWSImplService factory=new HelloWSImplService();
  4. HelloWSImpl helloWS=factory.getHelloWSImplPort();
  5. System.out.println(helloWS.getClass());
  6. String result=helloWS.sayHello("jack");
  7. System.out.println("client:"+result);
  8. }
  9. }

使用eclipse TCP/IP工具进行端口转发

将wsdl源码复制后放在本地 

通过本地文件生成客户端代码,端口转发器会把本地文档指定端口号8080转成服务器发布指定的8989

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/1004330
推荐阅读
相关标签
  

闽ICP备14008679号