前几天的召开的2019年大数据生态产业大会不知道大家关注到没有,看到消息是hanlp2.0版本发布了。不知道hanlp2.0版本又将带来哪些新的变化?准备近期看能够拿到一些hanlp2.0的资料,如果能顺利拿到的话,到时候分享给大家!今天分享这篇是关于将hanlp封装到web services服务中的。文章的部分内容有修改,阅读室请注意!
1. Apache Axis2简要介绍
Apache Axis2 是一种web services的引擎。支持SOAP和WSDL协议。它有两种语言的实现分别是Java实现的Apache Axis2/Java,和Apache Axis2/C。
Apache Axis2不仅支持SOAP1.1和SOAP1.2协议,同时还支持REST风格的协议。比起Apache Axis1,Apache Axis2更加高效,支持XML格式数据传输等。非常容易嵌入模块插件从而提高安全性和稳定性。例如WS-Security和WS-Addressing。
Apache Axis2的主要特征:(1)快速。(2)内存占用小(3)热部署(4)异步Web Services。(5)支持MEP传输规范(6)灵活扩展(7)高稳定性(8)面向组建的部署(9)在SMTP、FTP传输层协议之上(10)支持WSDL协议,易于构建stubs访问服务(11)方便组合和扩展。
2. 将HanLP封装为web services服务的过程
(1)准备工作
由于axis2要运行于servlet容器所以必须下载tomcat,解压到C:\Program Files\apache-tomcat-7.0.92,配置环境变量如下
Path=C:\Program Files\apache-tomcat-7.0.92\bin
下载axis2的binary安装包,解压到C:\Program Files\axis2-1.7.9,配置环境变量如下
AXIS2_HOME=C:\Program Files\axis2-1.7.9
Path=%AXIS2_HOME%\bin
(2)编写服务类
新建一个service包,并向其中添加服务类
package service;
import com.hankcs.hanlp.HanLP;
public class AnyService {
// 服务接口函数1
public String fun1(String text) {
if(text == null) {
return "";
}else {
return HanLP.XXX(text);
}
}
// 服务接口函数2
public void fun2(String text) {
if(text == null) {
HanLP.XXX(text);
}
}
}
可以定义任意个服务接口函数,函数内部可以实例化任意HanLP的类实例。
(3)编写services.xml
新建一个目录META-INF,并在该目下新建services.xml(文件名不可修改),输入下边内容
<service name="AnyService">
<parameter name="ServiceClass">
service.AnyService
</parameter>
<messageReceivers>
<messageReceiver
mep="http://www.w3.org/ns/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
<messageReceiver
mep="http://www.w3.org/ns/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
</messageReceivers>
</service>
其中AnyService可以更换成自己想要的服务名称,但是服务类的名称必须与前边定义的服务类的名称一致。
(4)导出为 "任意服务名.aar",存储到C:\Program Files\apache-tomcat-7.0.92\webapps\axis2\WEB-INF\services。
(5)将HanLP配置文件hanlp.properties拷贝到C:\Program Files\apache-tomcat-7.0.92\webapps\axis2\WEB-INF\classes,配置HanLP的data所在目录位置
root=填写你的data所在的目录
HanLP会在C:\Program Files\apache-tomcat-7.0.92\webapps\axis2\WEB-INF\classes目录下寻找配置文件,然后读取。
(5)启动tomcat,使用浏览器访问服务
双击C:\Program Files\apache-tomcat-7.0.92\bin目录下的startup.bat文件。在浏览器中访问服务,地址栏输入
http://localhost:8080/axis2/services/AnyService/fun1?text=任意想出入的内容
原文地址:https://zhuanlan.zhihu.com/p/76951439
相关推荐
Java Web Services 是一种利用 Java 技术开发网络服务的方式,它使得不同系统之间能够通过互联网进行数据交换和功能调用。这个教程将深入讲解 Java Web Services 的核心概念和技术,帮助开发者理解如何创建、部署和...
WebServices是一种基于...总之,"WebServices 天气预报"项目是一个实用的学习工具,它结合了WebServices与WinForm应用开发,可以帮助初学者深入理解这两种技术的结合使用,为今后的跨平台、分布式系统开发奠定基础。
Web Services是一种基于网络的、平台无关的交互方式,它允许不同系统之间交换数据和服务。在.NET框架下,创建和使用Web Services相对简单,这得益于微软提供的强大支持。本篇文章将深入探讨.NET环境下Web Services的...
Java Web Services教程主要涵盖的是如何...通过这个Java Web Services教程,你将能够掌握创建、发布和消费Web服务的基本技能,同时了解到如何在Java环境中集成和管理这些服务,为你的职业生涯打开更广阔的技术领域。
这个代理类封装了对Web Services的调用,简化了操作。例如,使用`svcutil.exe`工具可以自动生成代理类。 在"LinkJavaServer"这个文件中,可能包含了C#客户端调用Java Web Services的示例代码,或者是Java服务端的...
在农民工信息管理系统中,作者利用PHP实现的Web Services数据共享模块,可能涉及了创建XML数据结构来封装信息,编写SOAP客户端和服务器端代码以处理请求和响应,以及使用WSDL来描述服务接口。通过这种方式,不同系统...
Web服务(Web Services)是一种基于互联网的、使用标准XML(Extensible Markup Language)进行通信的软件,它允许不同系统间的应用程序进行交互。本示例代码是关于如何创建和使用Web服务的一个简明教程,旨在帮助...
Web Services 应用开发 Web 服务是一个基于 internet 的分布式计算的基本构造块,它允许在不同平台上、以不同语言编写的各种程序以基于标准的方式相互通信。Web 服务的定义尚未统一,但它通常是指在 internet 上...
Web Services的核心理念是将业务逻辑封装为独立的、可重用的服务单元,这些服务通过标准化的接口(如WSDL,Web服务描述语言)进行描述,使得其他应用程序能够发现并调用它们。服务的调用通常基于SOAP(简单对象访问...
- 开发Web Services时,通常会使用如Apache Axis、Java JAX-WS、.NET的WCF等工具,这些工具简化了服务的创建和部署过程。 9. **实际应用**: - B2B集成:企业间系统间的接口可以通过Web Services实现,如订单处理...
1. **SOAP**:SOAP是Web Services的基础协议,用于封装数据并定义消息结构,以HTTP为传输层协议,确保跨平台的兼容性。 2. **WSDL**:WSDL是一种XML格式,用来定义Web Service的接口、操作、消息及绑定,使得客户端...
### 基于Web Services的餐饮服务平台设计与实现 #### 一、背景与意义 随着中国餐饮业的快速发展,从1978年至2007年,餐饮业零售额增长了225倍,达到了12352亿元人民币。预计到2010年,中国餐饮业零售额将达到2万亿...
2. **WSDL(Web Services Description Language)**:WSDL是一种XML格式的规范,用于定义Web服务的接口,包括服务的位置、提供的操作以及如何调用这些操作。它为服务消费者提供了关于如何与服务交互的元数据。 ### ...
Delphi会自动处理SOAP消息的封装和解封装,使得与WebServices的交互变得简单易行。 除了基本的SOAP通信,Delphi还支持RESTful WebServices,这在现代Web应用中非常常见。通过TRESTClient和TRESTResponse组件,我们...
在IT行业中,Web Services是一种基于网络的、松散耦合的软件组件,它们通过标准协议进行通信,使得不同系统之间可以互相交互数据和服务。在这个场景下,"WebServices接口调用的代码工具类Util"是一个专门用于简化Web...
【标题】"天气预报Web Services" 是一个基于Web服务的技术实现,它允许应用程序通过网络请求获取天气预报数据。Web服务通常使用SOAP(简单对象访问协议)或REST(Representational State Transfer)架构,使得不同...
《Web Services Essentials》是一本全面介绍了Web服务基础知识及核心技术的书籍。通过对XML-RPC、SOAP、WSDL和UDDI等关键技术的深入讲解,读者不仅可以了解到Web服务的基本原理,还能掌握其实现方法和应用场景。对于...
通过使用WebServices技术,可以将特定的位置服务封装为Web服务,并在J2ME终端进行调用。Web服务具有松散耦合的特点,非常适合跨系统跨平台的信息交换,允许任何一方更改执行机制而不影响应用程序的正常运行。 #####...
在本文中,我们将深入探讨Web Services的实现原理,主要包括SOA(面向服务的架构)、Web Services生命周期、计算环境以及相关的技术栈。 1. SOA体系结构的总体实现: 面向服务的架构(Service-Oriented ...
Web Services是一种基于网络的、平台无关的交互方式,它允许不同的系统之间交换数据和服务。在本主题中,我们将深入探讨“Web Services程序代码”,特别是服务器端的实现,这通常涉及到XML、SOAP(简单对象访问协议...