• 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 Filesapache-tomcat-7.0.92,配置环境变量如下

    Path=C:Program Filesapache-tomcat-7.0.92in

    下载axis2的binary安装包,解压到C:Program Filesaxis2-1.7.9,配置环境变量如下

    AXIS2_HOME=C:Program Filesaxis2-1.7.9

    Path=%AXIS2_HOME%in

    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 Filesapache-tomcat-7.0.92webappsaxis2WEB-INFservices。

    5)将HanLP配置文件hanlp.properties拷贝到C:Program Filesapache-tomcat-7.0.92webappsaxis2WEB-INFclasses,配置HanLP的data所在目录位置

    root=填写你的data所在的目录

    HanLP会在C:Program Filesapache-tomcat-7.0.92webappsaxis2WEB-INFclasses目录下寻找配置文件,然后读取。

    5)启动tomcat,使用浏览器访问服务

    双击C:Program Filesapache-tomcat-7.0.92in目录下的startup.bat文件。在浏览器中访问服务,地址栏输入

    http://localhost:8080/axis2/services/AnyService/fun1?text=任意想出入的内容

  • 相关阅读:
    CSS选择符-----关系选择符
    CSS选择符-----元素选择符
    jQuery效果--show([speed,[easing],[fn]])和hide([speed,[easing],[fn]])
    大型网站架构系列:电商网站架构案例
    大型网站架构系列:负载均衡详解(上)
    JBOSS集群和安装
    webwork或Struts配置网站根路径的默认页面办法
    SQL Server 删除重复记录,只保留一条记录
    删除JBOSS eap4.3下的jmx-console、web-console、ws-console、status服务
    SLF4J versions 1.4.0 and later requires log4j 1.2.12 or later 终极解决
  • 原文地址:https://www.cnblogs.com/adnb34g/p/11325209.html
Copyright © 2020-2023  润新知