`

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

web 
阅读更多

 

前几天的召开的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
分享到:
评论

相关推荐

    Web Services平台架构

    在Java中,JAX-WS(Java API for XML Web Services)是用于处理SOAP消息的API,它简化了创建和消费Web Services的过程。 另外,UDDI(Universal Description, Discovery, and Integration)是Web Services的发现和...

    java web services教程

    Java Web Services 是一种利用 Java 技术开发网络服务的方式,它使得不同系统之间能够通过互联网进行数据交换和功能调用。这个教程将深入讲解 Java Web Services 的核心概念和技术,帮助开发者理解如何创建、部署和...

    webServices 用法 。net

    Web Services是一种基于网络的、平台无关的交互方式,它允许不同系统之间交换数据和服务。在.NET框架下,创建和使用Web Services相对简单,这得益于微软提供的强大支持。本篇文章将深入探讨.NET环境下Web Services的...

    Java Web Services教程

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

    c#通过https方式WebServices例子

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

    基于php的webservices的研究与应用.pdf

    在农民工信息管理系统中,作者利用PHP实现的Web Services数据共享模块,可能涉及了创建XML数据结构来封装信息,编写SOAP客户端和服务器端代码以处理请求和响应,以及使用WSDL来描述服务接口。通过这种方式,不同系统...

    webservices示例代码

    Web服务(Web Services)是一种基于互联网的、使用标准XML(Extensible Markup Language)进行通信的软件,它允许不同系统间的应用程序进行交互。本示例代码是关于如何创建和使用Web服务的一个简明教程,旨在帮助...

    Web Services应用开发.ppt

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

    Web Services技术综述

    Web Services的核心理念是将业务逻辑封装为独立的、可重用的服务单元,这些服务通过标准化的接口(如WSDL,Web服务描述语言)进行描述,使得其他应用程序能够发现并调用它们。服务的调用通常基于SOAP(简单对象访问...

    webServices

    - 开发Web Services时,通常会使用如Apache Axis、Java JAX-WS、.NET的WCF等工具,这些工具简化了服务的创建和部署过程。 9. **实际应用**: - B2B集成:企业间系统间的接口可以通过Web Services实现,如订单处理...

    西北工业大学软件工程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...

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

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

    Web Services程序代码

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

    webservices例子

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

Global site tag (gtag.js) - Google Analytics