WebService基本使用

WebService定义: 顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用。

WSDL – WebService Description Language – Web服务描述语言。

通过XML形式说明服务在什么地方-地址。

通过XML形式说明服务提供什么样的方法 – 如何调用。

服务端给客户端提供的一个说明书

    约束了客户端和服务端之间通信的消息格式

SOAP-Simple Object Access Protocol(简单对象访问协议)

SOAP作为一个基于XML语言的协议用于有网上传输数据。

SOAP = 在HTTP的基础上+XML数据。

SOAP是基于HTTP的。

SOAP的组成如下:

Envelope – 必须的部分。以XML的根元素出现。

Headers – 可选的。

Body – 必须的。在body部分,包含要执行的服务器的方法。和发送到服务器的数据。

一、开发服务端程序

1 @WebService //用jdk发布服务时,必须加此注解
2 public class PersonService {
3     
4     public String sayHello(String name){
5         return name + " hello";
6     }
7 }
1 public class Publisher {
2     public static void main(String[] args) {
3         //第一个参数:发布服务的地址
4         //第二个参数:创建服务类的对象
5         Endpoint.publish("http://192.168.22.1:8099/hello", new PersonService());
6     }
7 }

使用Endpoint做发布 Endpoint.publish("http://192.168.15.82:8098/hell", new UserServiceImpl()); 注意:服务类 webservice的服务类中必须至少有一个方法 jdk发布webservice服务的时候服务类上必须需要加@webService注 服务类的方法 1.不能是静态的 * 2.不能是final jdk对webservice发布带有接口的服务类支持不好,对soap1.2协议也有缺陷

二、客户端调用程序

wsimport: 参数:-s 生成源代码 -p生成代码后 的包名

步骤: (1) 找一个空文件夹 通过命令行,切换到空文件夹目录 执行:wsimport -s . -p com.xxx.xx http://192.168.15.82:8099/hello?wsdl

(2)把代码拷贝到客户端的工程中

(3)服务端的调用

   //1.创建服务访问点集合对象 PersonServiceService pss = new PersonServiceService();

  //2.获得服务点绑定的类,使用get加上port的名字(PersonServicePort), getPersonServicePort PersonService ps = pss.getPersonServicePort();

  //3.调用服务端的方法 String result = ps.sayHello("zhangsan"); System.out.println(result);

猜你喜欢

转载自www.cnblogs.com/cat-fish6/p/8969998.html