1.XML

CDATA指不应由XML解析器进行解析的文本数据。

在XML元素中,<&是非法的。解析器会把字符<解释为新元素的开始,把字符&解释为字符实体的开始。

某些文本,比如JavaScript代码,包含大量<&字符。为了避免错误,可以将脚本代码定义为CDATA。

CDATA部分由<![CDATA[开始,由]]>结束。

DTD(文档类型定义)是一种XML的约束方式,它的目的就是约束XML标记的写法。

XML Schema(XML Schema Definition,XSD)比DTD的约束能力强,所以DTD正在被逐渐淘汰。

在开发中通过Eclipse导入DTD文件,便于开发提示。

在XML中导入DTD,可以通过两种方式:

  1. 在XML中直接编写,<!DOCTYPE 根节点 [ ...... ]>
  2. 在专门的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(上)的更多相关文章

  1. web service上传参数代码实例

    web service上传参数代码实例 这次做的项目用到webservice比较多,最开始在网上看的参考dome,发现都不行,后来发现安卓4.0以后有很大的不同,在做传参时,有些东西需要注意: 第一, ...

  2. 从WEB SERVICE 上返回大数据量的DATASET

    前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作.查遍了网站的文章,问了一 ...

  3. web service 上传file说明

    之前做过一个接口,PI发布WEB SERVICE给对方调,传附件到SAP... 接口中包含文件名称,文件类型,文件流... 1.SOAPUI新建项目: 文件内容的地方会自动带上一个ID,这个ID对应文 ...

  4. java web service 上传下载文件

    1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ...

  5. [转载] 学会使用Web Service上(服务器端访问)~~~

    http://www.360doc.com/content/10/0712/12/541242_38461863.shtml# 关于什么是Web Service,相信在很多地方都会有介绍.简单的讲,W ...

  6. 构建安全的Xml Web Service系列之SSL篇

    原文:构建安全的Xml Web Service系列之SSL篇 首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全 ...

  7. 用MyEclipse开发REST Web Service

    MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 使用MyEclipse开发RESTWeb服务来放大您的Web应用程序.在本教程示例中,您将创建一个简单 ...

  8. 怎样创建.NET Web Service http://blog.csdn.net/xiaoxiaohai123/article/details/1546941

    为什么需要Web Service 在通过internet网购买商品后,你可能对配送方式感到迷惑不解.经常的情况是因配送问题找配送公司而消耗你的大量时间,对于配送公司而言这也不是一项增值服务. 为了解决 ...

  9. 使用.NET框架、Web service实现Android的文件上传(二)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAKpCAIAAADcx6fPAAAgAElEQVR4nOydd1hT5+LHg1attbfr1t ...

  10. 使用.NET框架、Web service实现Android的文件上传(一)

    上面是上传结果的展示,下面具体讲一下实现过程. 一.Web Service (.NET) namespace VedioPlayerWebService.service.vedios { [WebSe ...

随机推荐

  1. impala 使用记录

    在命令行里面直接输入类似下面的语句,就可以执行impala sql语句. impala-shell -q "select * from xxxc limit 10;" 当用pyth ...

  2. 使用C#把Tensorflow训练的.pb文件用在生产环境

    训练了很久的Tf模型,终于要到生产环境中去考研一番了.今天花费了一些时间去研究tf的模型如何在生产环境中去使用.大概整理了这些方法. 继续使用分步骤保存了的ckpt文件 这个貌似脱离不了tensorf ...

  3. centos6.9 安装完xampp 7.2.0后,执行/opt/lampp/lampp报错

    # /opt/lampp/lampp egrep: error while loading shared libraries: libc.so.6: cannot open shared object ...

  4. Beta版本互评

    基于NABCD评论作品,及改进建议 经过alpha发布之后,迫不及待的使用了psp daily这款软件,使用非常方便,基本的功能都可以实现,经过beta周之后,我对这款产品非常期待,希望能给我更友好的 ...

  5. 使用Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown

    新建一个spring boot的web项目,运行之后控制台输出“Unregistering JMX-exposed beans on shutdown”,tomcat也没有运行.寻找原因,看了下pom ...

  6. 凡事预则立|项目Beta冲刺准备

    1.讨论组长是否重选的议题和结论. 组员一致认为组长不需要重选,我们都很认可组长的表现,组长的付出我们都看在眼里,我们找不出更适合担任组长的人选. 2.下一阶段需要改进完善的功能. 财富值的布局优化以 ...

  7. 【CS231N】6、神经网络动态部分:损失函数等

    一.疑问 二.知识点 1. 损失函数可视化 ​ 损失函数一般都是定义在高维度的空间中,这样要将其可视化就很困难.然而办法还是有的,在1个维度或者2个维度的方向上对高维空间进行切片,例如,随机生成一个权 ...

  8. sqlserver结束和监视耗时的sql

    在对象资源管理器中右击服务器地址选择“活动和监视器”. 点击最近耗费大量资源的查询

  9. 结对项目作业GUI

    一.Coding.Net项目地址:https://git.coding.net/zhengsh589/CoupleProject.git 二.PSP表格(完成前): PSP 任务内容 计划共完成需要的 ...

  10. LCA(最近公共祖先)算法

    参考博客:https://blog.csdn.net/my_sunshine26/article/details/72717112 首先看一下定义,来自于百度百科 LCA(Lowest Common ...