WebService学习笔记

一、名字解释

(1)xml的Schema约束

book.xsd是对book.xml文件的约束。

Schema规范中所有的标签和属性都需要用Schema文件来定义;

所有的Schema文件都需要一个id,但在这里叫做namespace;

其中namespace的值由什么来指定?

              由targetNamespace属性来指定,它的值是一个url(很有可能不存在)

如何引入Schema约束?

             属性:  xmlns

             值: 约束文档Schema文件的namespace,就是id,也是它的targetNamespace的值

如果引入的Schema不是w3c组织定义的,必须指定Schema文件的位置。

Schema文件有什么属性来指定?        schemaLocation   值: namespace+path

 

book.xsd

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/bookSchema"
		elementFormDefault="qualified">
	<element name="书架">
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="书">
					<complexType>
						<sequence>
							<element name="书名" type="string">
							</element>
							<element name="作者" type="string">
							</element>
							<element name="售价" type="string">
							</element>
						</sequence>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
</schema>

book.xml

<?xml version="1.0" encoding="UTF-8"?>
<书架 xmlns="http://www.example.org/bookSchema"
	 xmlns:dd="http://www.w3.org/2001/XMLSchema-instance"
	 dd:schemaLocation="http://www.example.org/bookSchema book.xsd">
	<书>
		<书名>JavaScript开发</书名>
		<作者>老董</作者>
		<售价>28.00元</售价>
	</书>
	<书>
		<书名>Java开发</书名>
		<作者>老董</作者>
		<售价>38.00元</售价>
	</书>
</书架>
<?xml version="1.0" encoding="UTF-8"?>
<tt:书架 xmlns:tt="http://www.example.org/bookSchema"
	 xmlns:dd="http://www.w3.org/2001/XMLSchema-instance"
	 dd:schemaLocation="http://www.example.org/bookSchema book.xsd">
	<tt:书>
		<tt:书名>JavaScript开发</tt:书名>
		<tt:作者>老董</tt:作者>
		<tt:售价>28.00元</tt:售价>
	</tt:书>
	<tt:书>
		<tt:书名>Java开发</tt:书名>
		<tt:作者>老董</tt:作者>
		<tt:售价>38.00元</tt:售价>
	</tt:书>
</tt:书架>

(2) http协议

请求组成: 

        请求行(请求方式+path+请求协议(http1.1))

        请求头

        请求体(只有post请求有)

响应组成:

        响应状态行:  响应状态码

        响应头

        响应体:浏览器解析显示的数据

(二)webService概念(跨平台、跨语言、远程调用)

1.基于web的服务,服务器端整出一些资源让客户端应用访问(获取数据)

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

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

(三)webservice重要的术语

(1)wsdl   web service defination language

WebService定义语言

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

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

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

(2)soap:simple object access protocal

简单对象访问协议

1.是一个简单的、基于http和xml的协议,用于在web上交换结构化的数据。

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

3.http+xml片段

(3)sei: webservice endpoint interface

web service 的终端接口

webService服务器端用来处理请求的接口

(4)CXF:Celtix+XFire

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

(四)使用jdk开发WebService

采用jdk1.6版本以上

(1) 开发服务器端

  •  Web Service 编码: 
  •            -- @WebService(SEI和SEI的实现类)
  •            -- @WebMethod(SEI中的所有方法)
  • 发布Web Service:
  •            -- Endpoint(终端,发布webservice)

(2) 开发客户端

  • 使用eclipse提供的web service 浏览器访问
  •    -- 查看对应的wsdl文档: ......?wsdl(一般浏览器)
  •    -- 请求webService并查看请求和响应消息(webservice浏览器)
  • 创建客户端应用编码方式访问
  •    -- 借助jdk的wsimport.exe工具生成客户端代码:
wsimport -keep url   // url为wsdl文件的路径

注意: wsimport中url可以是个网络地址,比如:http://192.168.2.103:8888/demo/hellows?wsdl

也可以将wsdl文件保存到本地,来生成客户端代码:

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值