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:

@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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值