赞
踩
1.基于Web的服务:服务器端整出一些资源让客户端应用访问
2.一个跨语言、跨平台的规范(抽象)
3.多个跨平台、跨语言的应用间通信整合的方案(实际)
跨平台调用
跨语言调用
远程调用
1.同一家公司的新旧应用之间
2.不同公司的应用之间 分析业务需求:天猫网与中通物流系统如何交互?
3.一些提供数据的内容聚合应用:天气预报、股票行情
直译:WebService定义语言
1.对应一种类型的文件.wsdl
2,定义了web service的服务器端与客户端应用交互传递请求与响应数据的格式与方式
3.一个web service对应一个唯一的wsdl文档
直译:简单对象访问协议
1.是一种简单的、基于HTTP和XML的协议,用于WEB上交换结构化的数据
2.soap消息:请求信息和响应信息
3.http+xml片断
直译:web service的终端接口
就是web service服务器端用来处理请求的接口
一个apache的用于开发web service服务器端和客户端的框架
开发手段:
--使用JDK开发
--使用CFX框架开发
1)开发服务器端
Web Service编码:-@WebService(SEI和SEI实现类) -WebMethod(SEI中的所有方法)
发布Web Service: -Endpoint(终端,发布webservice)
2)开发客户端
创建客户端应用编码方式访问
-借助jdk的wsimport.exe工具生成客户端代码:
wsimport -keep url //url为wsdl文件的路径
-借助生成的代码编写请求代码
服务端SEI:
- @WebService
- public interface HelloWS {
- @WebMethod
- public String sayHello(String name);
-
- }
- /**
- * SEI的实现
- * @author 12231
- *
- */
- @WebService
- public class HelloWSImpl implements HelloWS{
-
- @Override
- public String sayHello(String name) {
- System.out.println("server sayhello()"+name);
- return "Hello"+name;
- }
-
- }
- //发布web service
- public class ServerTest {
- public static void main(String[] args) {
- String address="http://localhost:8989/ws/hellows";
- Endpoint.publish(address, new HelloWSImpl());
- System.out.println("发布成功");
- }
- }
客户端
刷新下后文件就出来了
- public class ClientTest {
- public static void main(String[] args) {
- HelloWSImplService factory=new HelloWSImplService();
- HelloWSImpl helloWS=factory.getHelloWSImplPort();
- System.out.println(helloWS.getClass());
- String result=helloWS.sayHello("jack");
- System.out.println("client:"+result);
- }
-
- }
使用eclipse TCP/IP工具进行端口转发
将wsdl源码复制后放在本地
通过本地文件生成客户端代码,端口转发器会把本地文档指定端口号8080转成服务器发布指定的8989
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。