SRW/SRU:SRW(Search/Retrieve for the Web)和SRU(Search/Retrieve URL Service)
这两者是针对Web的信息检索协议,利用Web服务的架构,实现了Z39.50的一些基本服务。是ZING的核心功能。SRW使用HTTP与SOAP的无状态通信,采用XML作为信息传输编码,也可以单纯使用URL传递查询请求,用WSDL来定义Z39.50传输的格式信息,检索结果也以XML格式输出。而SRU只能通过URL参数方式提交检索请求,不支持完整的SOAP消息包(指支持SOAP消息报中的内容序列)。

它主要包括SRW/U、CQL、Zoom、ez3950和ZeeRex五个部分。

基于SRU开发接口的检索实现:

public class SruSearch { private static String SERVICE_HOST="your_servicehost";//host URL private static String NETDATA_URL="http://your_servicehost/sru/XXXX.ashx?operation=your_method&query=keyword&otherparameter ";//data URL } //调用data URL 生成并返回InputStream public static InputStream getSoapInputStream(String url) { InputStream inputStream=null; try { URL urlObj=new URL(url); URLConnection urlconn=urlObj.openConnection(); urlconn.setRequestProperty("host", SERVICE_HOST); urlconn.connect(); inputStream=urlconn.getInputStream(); } catch (MalformedURLException e) { // TODO: handle exception e.printStackTrace(); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } return inputStream; } //采用Jdom方式生成xml文档 public static Document getProvinceCode(String netXMLDataURL) { Document document=null; DocumentBuilderFactory documentBF=DocumentBuilderFactory.newInstance(); documentBF.setNamespaceAware(true); try { DocumentBuilder documentB=documentBF.newDocumentBuilder(); InputStream inputStream=getSoapInputStream(netXMLDataURL); document=documentB.parse(inputStream); inputStream.close(); } catch (DOMException e) { // TODO: handle exception e.printStackTrace(); return null; } catch (ParserConfigurationException e) { // TODO: handle exception e.printStackTrace(); return null; } catch (IOException e) { // TODO: handle exception e.printStackTrace(); return null; } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } return document; }

剩下的工作就是解析XML文档并显示了,可以参考我对于xml文档创建与解析的整理博文

SRU/SRW协议的异构库检索详解(一) _SRU相关推荐

  1. cJSON库用法详解

    cJSON库用法详解_宁静致远2021的博客-CSDN博客_cjson cJSON库用法详解 问题和需要注意的地方 一.JSON.cJSON简介 1. JSON 简介 2. JSON 语法 3. 开源 ...

  2. Python爬虫之selenium库使用详解

    Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...

  3. python时间函数详解_Python:Numpy库基础分析——详解datetime类型的处理

    原标题:Python:Numpy库基础分析--详解datetime类型的处理 Python:Numpy库基础分析--详解datetime类型的处理 关于时间的处理,Python中自带的处理时间的模块就 ...

  4. linux mysql 静态库_Linux静态库与动态库实例详解

    Linux静态库与动态库实例详解 1. Linux 下静态链接库编译与使用 首先编写如下代码: // main.c #include "test.h" int main(){ te ...

  5. python可以处理多大的数据_科多大数据之Python基础教程之Excel处理库openpyxl详解...

    原标题:科多大数据之Python基础教程之Excel处理库openpyxl详解 科多大数据小课堂来啦~Python基础教程之Excel处理库openpyxl详解 openpyxl是一个第三方库,可以处 ...

  6. 计算机网络中的语法 语义 时序的概念,网络iso协议及语义语法时序详解

    网络iso协议及语义语法时序详解 计算机学习 网络协议的三要素 在计算机网路中,通信发生在不同系统的实体之间,,实体(entity)是能够发送和接收信息的任何事物.然而,两个实体间仅发送比特流就指望能 ...

  7. NodeMCU 之 U8G2 库使用详解

    NodeMCU 之 U8G2 库使用详解 1.指令 u8g2.clearDisplay(); // 清除显示数据及屏幕u8g2.clearBuffer(); // 清Buffer缓冲区的数据u8g2. ...

  8. USB CCID类协议中的APDU命令详解

    出处:http://blog.chinaunix.net/uid-29124653-id-4573075.html 原文地址:USB CCID类协议中的APDU命令详解 作者:jeffasdasd 最 ...

  9. STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解)

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

最新文章

  1. 在浙学计算机基础2020答案,浙江大学2020年硕士研究生复试分数线的基本要求
  2. .Net软件UI界面测试自动化--UIAutomation技术
  3. 嵌入式开发环境构建_设计模式:不可变的嵌入式构建器
  4. 通过rhel7的kvm虚拟机实现3节点Postgres-XL(包括gtm standby)
  5. 某医院信息化硬件平台建设方案
  6. mysql 设置男女约束
  7. Go语言中使用SQLite数据库
  8. mongodb占内存过大情况处理
  9. 团队博客作业-Week3
  10. SSD源码解读之ssd_pascal.py
  11. 环形电流计算公式_辨析!环形差模电感饱和电流的计算公式是什么?
  12. 备战蓝桥杯—2014(4)史丰收速算
  13. c语言低通滤波参数调节,低通滤波器的参数设置
  14. 2022深圳限行一年几次免罚 有几次机会
  15. sdk manager extra下没有Google play billing
  16. 基于Android10的忽略HTTPS证书校验
  17. 【Magicavoxel简易入门教程】(二) 第二章 · 自制一个NPC导出模型优化工具使用(附下载)
  18. 李宏毅2020机器学习课程笔记(一)
  19. 阿里sentinel监控客户端配置
  20. 转专业考试c语言,关于转专业申请书汇编五篇

热门文章

  1. Android仿QQ、微信聊天界面长按提示框效果
  2. 程序员必须知道的几个Git代码托管平台
  3. 开店做生意全靠套路!学会这四个营销套路,业绩翻数倍!
  4. matlab bwlabel_Matlab中Image-bbox-regionprops-rectangle的坐标系统
  5. mongodump备份分片数据库的操作
  6. 01 硅谷外卖项目day01
  7. 基于Android硬件设备跟微信服务器通信的项目心得,以UDP Byte通信为例,建立无向连接,0530手札
  8. 扫地机器人能过凸起地面吗_老司机教你一眼看穿扫地机器人的套路
  9. EPSON EX3打印机清零
  10. 移动硬盘如何分区?教您快速解决!