Web Service(上)
1.XML
CDATA指不应由XML解析器进行解析的文本数据。
在XML元素中,<和&是非法的。解析器会把字符<解释为新元素的开始,把字符&解释为字符实体的开始。
某些文本,比如JavaScript代码,包含大量<或&字符。为了避免错误,可以将脚本代码定义为CDATA。
CDATA部分由<![CDATA[开始,由]]>结束。
DTD(文档类型定义)是一种XML的约束方式,它的目的就是约束XML标记的写法。
XML Schema(XML Schema Definition,XSD)比DTD的约束能力强,所以DTD正在被逐渐淘汰。
在开发中通过Eclipse导入DTD文件,便于开发提示。
在XML中导入DTD,可以通过两种方式:
- 在XML中直接编写,
<!DOCTYPE 根节点 [ ...... ]>。 - 在专门的DTD文件中编写,然后在XML中通过特定的语句导入DTD文件。在导入时,要知道DTD文件是本地文件还是共享文件。
本地文件的导入格式:<!DOCTYPE 根节点 SYSTEM "dtd的URL">。
共享文件的导入格式:<!DOCTYPE 根节点 PUBLIC "dtd的名称""dtd的URL">。
book.xsd
<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.atguigu.com/bookSchema"
elementFormDefault="qualified">
<element name="书架">
<complexType>
<sequence maxOccurs="unbounded">
<element name="书">
<complexType>
<sequence>
<element name="书名" type="string" />
<element name="作者" type="string" />
<element name="售价" type="string" />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
book.xsd文件通过xmlns="http://www.w3.org/2001/XMLSchema"引入Schema约束。
targetNamespace="http://www.atguigu.com/bookSchema"是book.xsd文件的ID。
book.xml
<?xml version="1.0" encoding="UTF-8"?>
<书架 xmlns="http://www.atguigu.com/bookSchema"
xmlns:dd="http://www.w3.org/2001/XMLSchema-instance"
dd:schemaLocation="http://www.atguigu.com/bookSchema book.xsd">
<书>
<书名>JavaScript开发</书名>
<作者>老佟</作者>
<售价>28.00元</售价>
</书>
</书架>
book.xml引入了约束xmlns="http://www.atguigu.com/bookSchema"。
通过schemaLocation="http://www.atguigu.com/bookSchema book.xsd"指定约束文件的位置。属性schemaLocation通过约束xmlns="http://www.w3.org/2001/XMLSchema-instance"引入,所以这里引入了两个约束,需要给其中一个约束起别名(因为DTD无法解决“在引入多个约束时,有同名标签,导致命名冲突”的问题,所以出现了Schema,它是DTD的替代者)。下面代码中的dd就是别名。
xmlns:dd="http://www.w3.org/2001/XMLSchema-instance"
dd:schemaLocation="http://www.atguigu.com/bookSchema book.xsd"
2.WebService简介

Web Service
Web Service是应用程序组件,它使用开放协议进行通信,可通过使用UDDI来发现。
Web Service基于HTTP和XML。HTTP 协议是最常用的因特网协议。XML 提供了一种可用于不同的平台和编程语言之间的语言。
Web services 平台的元素:
- SOAP (简易对象访问协议)
- UDDI (通用描述、发现及整合)
- WSDL (Web services 描述语言)
SOAP
SOAP是指简易对象访问协议,它是一种用于应用程序之间的通信协议。
SOAP基于XML,独立于平台、独立于语言。
SOAP很简单并可扩展。
SOAP允许你绕过防火墙。
SOAP将被作为 W3C 标准来发展。
WSDL
WSDL 指网络服务描述语言 (Web Services Description Language)。
WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。
3.使用JDK开发Web Service
发布Web Service
import javax.jws.WebMethod;
import javax.jws.WebService;
/*
* SEI:
*/
@WebService
public interface HelloWS {
@WebMethod
public String sayHello(String name);
}
import javax.jws.WebService;
/*
* SEI的实现
*/
@WebService
public class HelloWSImpl implements HelloWS {
@Override
public String sayHello(String name) {
System.out.println("server sayHello() "+name);
return "Hello " + name;
}
}
import javax.xml.ws.Endpoint;
import com.atguigu.day01_ws.ws.HelloWSImpl;
/*
* 发布Web Service
*/
public class ServerTest {
public static void main(String[] args) {
String address = "http://192.168.1.108:8989/day01_ws/hellows";
Endpoint.publish(address , new HelloWSImpl());
System.out.println("发布webservice成功!");
}
}



请求Web Service
根据WSDL文档生成客户端代码。


import com.atguigu.day01_ws.ws.HelloWSImpl;
import com.atguigu.day01_ws.ws.HelloWSImplService;
/*
* 调用webservice
*/
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);
}
}

Web Service(上)的更多相关文章
- web service上传参数代码实例
web service上传参数代码实例 这次做的项目用到webservice比较多,最开始在网上看的参考dome,发现都不行,后来发现安卓4.0以后有很大的不同,在做传参时,有些东西需要注意: 第一, ...
- 从WEB SERVICE 上返回大数据量的DATASET
前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作.查遍了网站的文章,问了一 ...
- web service 上传file说明
之前做过一个接口,PI发布WEB SERVICE给对方调,传附件到SAP... 接口中包含文件名称,文件类型,文件流... 1.SOAPUI新建项目: 文件内容的地方会自动带上一个ID,这个ID对应文 ...
- java web service 上传下载文件
1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ...
- [转载] 学会使用Web Service上(服务器端访问)~~~
http://www.360doc.com/content/10/0712/12/541242_38461863.shtml# 关于什么是Web Service,相信在很多地方都会有介绍.简单的讲,W ...
- 构建安全的Xml Web Service系列之SSL篇
原文:构建安全的Xml Web Service系列之SSL篇 首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全 ...
- 用MyEclipse开发REST Web Service
MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 使用MyEclipse开发RESTWeb服务来放大您的Web应用程序.在本教程示例中,您将创建一个简单 ...
- 怎样创建.NET Web Service http://blog.csdn.net/xiaoxiaohai123/article/details/1546941
为什么需要Web Service 在通过internet网购买商品后,你可能对配送方式感到迷惑不解.经常的情况是因配送问题找配送公司而消耗你的大量时间,对于配送公司而言这也不是一项增值服务. 为了解决 ...
- 使用.NET框架、Web service实现Android的文件上传(二)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAKpCAIAAADcx6fPAAAgAElEQVR4nOydd1hT5+LHg1attbfr1t ...
- 使用.NET框架、Web service实现Android的文件上传(一)
上面是上传结果的展示,下面具体讲一下实现过程. 一.Web Service (.NET) namespace VedioPlayerWebService.service.vedios { [WebSe ...
随机推荐
- OTRS
更新OTRS root@localhost密码: sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::User::SetPassword root@lo ...
- [文章存档]如何检测 Azure Web 应用沙盒环境文件系统存储量
链接:https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-h ...
- hive对于lzo文件处理异常Caused by: java.io.IOException: Compressed length 842086665 exceeds max block size 67108864 (probably corrupt file)
hive查询lzo数据格式文件的表时,抛 Caused by: java.io.IOException: Compressed length 842086665 exceeds max block s ...
- 允许使用root远程ssh登录(Ubuntu 16.04)
今天装了ubuntu16和17,发现还是ubuntu16看着顺眼,所以以后决定用ubuntu16, 然后想换语言发现更新失败,所以想换成中国的源,但是vm里面复制粘贴不了,所以想用secureCRT连 ...
- teamwork 2
1.访问上学期项目团队,学习他们的得失. 上学期学长们有一个项目是学霸系统,在看过了学长们的相关博客后,我们可以感受到学长们确实花费了不少心思,也看到了许多值得我们学习的地方. 首先,学长们在项目开始 ...
- 记事本APP之Alpha报告
项目名称 记事本APP 项目版本 Alpha版本 负责人 北京航空航天大学计算机学院 Echo软件团队 联系方式 http://www.cnblogs.com/echo-buaa/ 要求发布日期 20 ...
- 【Alpha】Task分配与计划发布
团队项目链接 以上大概是我们的任务分配,根据目前的预计时间来看,到α版本项目稳定下来至少需要440小时的开发时间才能完成. 项目最大的问题点和难点在于其数据量非常之大,计算模块要求非常之多,想象一下 ...
- WPF四则运算《《《《《策略模式
设计思路: 因为之前没有用过WPF,听说和window窗体语法类似,就想着仿照之前的Window窗体做的,首先用三个textbox存储数据,添加一个comboBox,利用索引选择运 ...
- 内网php项目访问(切换在线解决)
之前内网访问出现过问题: 可参考手机访问本地php项目遇到的问题及解决(2015-06-20 09:41) 后来重装wamp之后,要访问还是出现问题 即http://192.168.191.1/mui ...
- Restful风格wcf调用
文章:Restful风格wcf调用 作者相当于把wcf服务改造成rest风格. Restful风格wcf调用2——增删改查 这篇文章在第一篇的基础上,进行了优化. Restful风格wcf调用3——S ...