026 WebService入门 - bos

一、什么是WebService

1.Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,
可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,
用于开发分布式的互操作的应用程序。

2.简单理解就是两个系统之间的远程调用技术

3.并且WebService之间的调用可以实现跨语言调用,因为调用使用的是http协议,传输的数据格式为xml

二、调用网络上的WebService服务

1.打开命令行 进入E:\\test,输入wsimport -s . http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

2.此时,该目录会生成.class文件和.java文件,删除class文件,把java文件复制到一个简单的java项目

3.编写以下调用代码

/**
* 远程调用Web Service服务
*/
public class App {

public static void main(String[] args) {
MobileCodeWS ss = new MobileCodeWS();
MobileCodeWSSoap soap = ss.getMobileCodeWSSoap();
String res = soap.getMobileCodeInfo("15659789999", null);
System.out.println(res);
}
}

三、WebService介绍

WebService调用是基于HTTP协议的
调用时传输的数据是XML格式的,因此可以实现跨语言调用

四、HTTP介绍

HTTP请求格式如下:
<request-line> //请求行
<headers> //请求头
<blank line> //空行
[<request-body>] //请求体,不一定有

在HTTP请求中,第一行必须是一个请求行,用来说明请求类型(get、post)、要访问的资源(url)以及使用的HTTP版本
紧接着是一个首部小节,用来说明服务器要使用的附加信息,在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]

POST /getinfo.action HTTP/1.1
HOST www.hao.com
UserAgent ...
contentType application/x-www-form-urlencoded
//这里有一个空行
id=001&name=hao&age=20

五、SOAP概念

SOAP(Simple Object Access Protocal),简单对象访问协议
SOAP是基于HTTP的,属于HTTP的范畴

POST /getinfo.action HTTP/1.1
HOST www.hao.com
UserAgent ...
Content-Type text/xml; charset=utf-8
Connection keep-alive
//这里有一个空行

<xml数据>
SOAP对传输的XML进行了约束,同时规定了请求和响应的XML数据格式,envelop和body是固定的
<envelop>
<body>
<!--方法名-->
<getInfo>
<id>01</id>
<getInfo>
<body>
</envelop>

六、WSDL概念

WSDL(WebService Description Language):Web服务描述语言
就是一个xml文档,用于描述当前服务的一些信息(服务名称、服务发布地址、服务提供的方法、方法的参数类型、方法的返回值类型)
服务名字:wsdl:service
提供的方法:wsdl:operation
WSDL相当于Web服务的使用说明书

七、WebService程序

简单的网络应用使用单一的语言写成,它的唯一外部程序就是他所以来的数据库
复杂的网络应用,一般对外公布Service层,其他各个终端共同调用

八、基于JDK1.7发布一个简单的WebService服务

@WebService
public class HelloService {

public String sayHello(String name){
System.out.println("服务端的sayHello方法被调用了...");
return "hello,"+name;
}

public static void main(String[] args) {
String address = "http://192.168.1.2:8989/hello";
//对应的wsdl为http://192.168.1.2:8989/hello?wsdl
Object implementor = new HelloService();
Endpoint.publish(address, implementor);

}
}

九、使用JDK的wsimport命令生成本地代码调用WebService服务

wsimport命令用于解析wsdl文件,生成客户端本地代码
-s用于指定目标代码放置在哪
-p用于指定目标的报名,若不指定则和服务器的包名一致
无论服务端的代码使用什么语言写的,都在客户端生成Java代码
wsimport -s . -p com.hao.webservice http://192.168.1.2:8989/hello?wsdl

十、客户端调用代码

/**
* 1.通过wsimport命令解析wsdl文件生成本地代码
* 2.通过本地代码创建一个代理对象
* 3.通过代理对象实现远程调用
*/
public class App {

public static void main(String[] args) {
HelloServiceService ss = new HelloServiceService();
//创建客户端代理对象用于远程调用
HelloService proxy = ss.getHelloServicePort();
System.out.println(proxy.sayHello("小明"));
}
}

时间: 2024-07-31 18:24:51

026 WebService入门 - bos的相关文章

RESTful WebService入门

RESTful WebService入门 RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易. 下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识.因为非常专业理论化的描述RESTful WebService是一件理解起来很痛苦的事情.看看例子就知道个大概了,再看理论就容易理解多了. /** * RESTful

RESTful WebService入门(转)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/229206 RESTful WebService是比基于SOAP消息的WebService简单的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都是非常的轻松容易. 以下是一个最简单的Hello World例子,以便对RESTful WebService有个感性认识.因为非常专业理论化

RESTful WebService入门【转】

ESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易. 下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识.因为非常专业理论化的描述RESTful WebService是一件理解起来很痛苦的事情.看看例子就知道个大概了,再看理论就容易理解多了. /** * RESTful WebService入门 * @author

WebService入门Demo

以前写博客最主要的就是不知道写什么东西,现在感觉能写点东西,就是感觉博客随笔的标题挺难取的,最近工作中刚好用到了WebService,刚好可以写一篇博客.去年工作的时候自己也用到过,只是知道调用一些WebService中的方法,想想还是写篇博客的,也就是俗话说的不要只顾低头走路,还要注意抬头看天.还是写正文吧,现在每次写博客都会会扯点有的没的,不要见怪. WebService的基本概念 WebService看名字的简单点理解就是基于Web的服务,跟普通的web程序一样遵循Http协议,接收响应外

WebService入门实例教程

什么是WebService 通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,它是基于Web的服务,通过Web进行发布.查找和使用. WebService脚本平台需支持XML+HTTP. HTTP协议是最常用的因特网协议. XML提供了一种可用于不同的平台和编程语言之间的语言. 为什么要使用WebService 最重要的事情是协同工作. 1.跨平台调用(WebService不局限于操作系统,你可以在Windows上调用linux上的WebService服务,反之亦然

WebService入门案例

关于WebService的作用和好处,大家应该都了解.但如何在Asp.Net中添加Web Service等问题一直是新手朋友的一大难题.鉴于网上没有一个像样的实际案例,特将课程设计中运用到的WebService(在Asp.Net中添加实时天气预报的案例)粘贴出来,并附上个人的理解.以便于新手朋友快速入门WebService,帮助新手朋友快速的掌握和理解如何在ASP.NET中建立这种引用,实现网页上面的高大效果.对于本文,欢迎转载,但请标明文章出处:itred.cnblogs.com.欢迎各位大神

一、WebService入门——helloService

既然是入门,那helloworld当之无愧啊,,,, 1.创建两个Java工程,一个做为webservice的服务端,一个做为webservice的客户端. 2.首先在WSService工程中,编写service端,其中注意细节已经在代码中体现 Java代码   package com.wang.webservice.service; import javax.jws.WebService; import javax.xml.ws.Endpoint; /* * @WebService注解 *  

Spring WebService入门

Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序.Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间, 无论它们所使用的语言. 平台或内部协议是什么, 都可以相互交换数据.Web Service是自描述.

1.webService入门

学习webService前,先来思考一个问题: 请看以下截图: 以上是一个综合网站的部分显示信息,我们能很明显的看出打开该网页所处区域的一些信息,比如:地点是厦门,天气是阵雨,温度是9摄氏度等等... 那么,这些数据都是保存在公司服务器的吗? 显然不是,一个中国那么大,有多少地区,一个公司要存放每一天的相关地区的天气等数据,那得消耗多少资源,所以该信息一般是从气象局获取. 这些数据获取过来是网页形式的吗? 很多门户网站都有相关天气信息的显示,并且很容易看出它们的样式都是不一样的,所以很明显获取的