`

HanLP封装为web services服务的过程介绍

阅读更多

 

前几天的召开的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

  • 大小: 973.7 KB
分享到:
评论

相关推荐

    Webservices--自己简单的封装类

    在开发过程中,我们通常会将对Web服务的调用和解析过程封装成一个类库,以简化代码并提高复用性。这包括: - **创建客户端代理**:利用Java的JAX-WS或.NET的SoapHttpClient等工具,根据WSDL自动生成客户端代理类,...

    webServices 天气预报

    WebServices是一种基于...总之,"WebServices 天气预报"项目是一个实用的学习工具,它结合了WebServices与WinForm应用开发,可以帮助初学者深入理解这两种技术的结合使用,为今后的跨平台、分布式系统开发奠定基础。

    Java Web Services教程

    Java Web Services教程主要涵盖的是如何...通过这个Java Web Services教程,你将能够掌握创建、发布和消费Web服务的基本技能,同时了解到如何在Java环境中集成和管理这些服务,为你的职业生涯打开更广阔的技术领域。

    c#通过https方式WebServices例子

    这个代理类封装了对Web Services的调用,简化了操作。例如,使用`svcutil.exe`工具可以自动生成代理类。 在"LinkJavaServer"这个文件中,可能包含了C#客户端调用Java Web Services的示例代码,或者是Java服务端的...

    Web Services应用开发.ppt

    Web Services 应用开发 Web 服务是一个基于 internet 的分布式计算的基本构造块,它允许在不同平台上、以不同语言编写的各种程序以基于标准的方式相互通信。Web 服务的定义尚未统一,但它通常是指在 internet 上...

    西北工业大学软件工程WebServices实验报告

    1. **SOAP**:SOAP是Web Services的基础协议,用于封装数据并定义消息结构,以HTTP为传输层协议,确保跨平台的兼容性。 2. **WSDL**:WSDL是一种XML格式,用来定义Web Service的接口、操作、消息及绑定,使得客户端...

    基于Web Services的餐饮服务平台设计与实现

    ### 基于Web Services的餐饮服务平台设计与实现 #### 一、背景与意义 随着中国餐饮业的快速发展,从1978年至2007年,餐饮业零售额增长了225倍,达到了12352亿元人民币。预计到2010年,中国餐饮业零售额将达到2万亿...

    php实现webservices接口

    2. **WSDL(Web Services Description Language)**:WSDL是一种XML格式的规范,用于定义Web服务的接口,包括服务的位置、提供的操作以及如何调用这些操作。它为服务消费者提供了关于如何与服务交互的元数据。 ### ...

    web services开发文档

    其基本思想是将业务逻辑封装为服务,通过网络接口提供给其他系统使用。这种松耦合的架构使得开发者可以独立于底层平台进行开发,极大地提高了系统的可复用性和互操作性。 二、Web服务关键技术 1. SOAP(简单对象...

    delphi开发webservices 接口实例

    Delphi会自动处理SOAP消息的封装和解封装,使得与WebServices的交互变得简单易行。 除了基本的SOAP通信,Delphi还支持RESTful WebServices,这在现代Web应用中非常常见。通过TRESTClient和TRESTResponse组件,我们...

    webservices 在main函数中运行webservices服务

    4. `SoapServices.java` - 这个文件很可能包含了SOAP Web服务的配置和实现,例如使用JAX-WS(Java API for XML Web Services)来创建服务端点。 在`main`函数中运行Web服务,首先需要创建服务的实例,然后绑定到一...

    WebServices接口调用的代码工具类Util

    在IT行业中,Web Services是一种基于网络的、松散耦合的软件组件,它们通过标准协议进行通信,使得不同系统之间可以互相交互数据和服务。在这个场景下,"WebServices接口调用的代码工具类Util"是一个专门用于简化Web...

    天气预报Web Services

    【标题】"天气预报Web Services" 是一个基于Web服务的技术实现,它允许应用程序通过网络请求获取天气预报数据。Web服务通常使用SOAP(简单对象访问协议)或REST(Representational State Transfer)架构,使得不同...

    Web Services Essentials

    《Web Services Essentials》是一本全面介绍了Web服务基础知识及核心技术的书籍。通过对XML-RPC、SOAP、WSDL和UDDI等关键技术的深入讲解,读者不仅可以了解到Web服务的基本原理,还能掌握其实现方法和应用场景。对于...

    用Java 和WebServices 技术实现移动位置服务

    通过使用WebServices技术,可以将特定的位置服务封装为Web服务,并在J2ME终端进行调用。Web服务具有松散耦合的特点,非常适合跨系统跨平台的信息交换,允许任何一方更改执行机制而不影响应用程序的正常运行。 #####...

    WebServices实现原理.ppt

    在本文中,我们将深入探讨Web Services的实现原理,主要包括SOA(面向服务的架构)、Web Services生命周期、计算环境以及相关的技术栈。 1. SOA体系结构的总体实现: 面向服务的架构(Service-Oriented ...

    Java与.NET 的Web Services相互调用

    Java与.NET的Web Services相互调用是跨平台通信的重要技术之一,它允许不同语言和框架的应用程序通过标准的Web服务接口进行数据交换和功能调用。以下是对这一主题的详细阐述: 1. **Java调用.NET Web Services** ...

    Web Services程序代码

    Web Services是一种基于网络的、平台无关的交互方式,它允许不同的系统之间交换数据和服务。在本主题中,我们将深入探讨“Web Services程序代码”,特别是服务器端的实现,这通常涉及到XML、SOAP(简单对象访问协议...

    webservices例子

    通过深入研究"WebServices1"这个示例,学习者可以掌握Web服务的核心概念和技术,为实际项目中的系统集成和跨平台通信打下坚实基础。在实践中不断试验和理解这些知识点,将有助于提升开发者在分布式系统设计和实现...

Global site tag (gtag.js) - Google Analytics