前几天的召开的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
相关推荐
自己也是第一次接触Webservices,对Webservices请求和解析进行了简单的处理和封装,里面还有些不足,大家可以给点建议和建议
WebServices的SmartObject封装方法 K2
自己封装的一个天气预报Web Services,天气数据由新浪天气预报页面抓取。可以自己修改一下作为一个单独的获取天气预报的Java类。天气数据为xml格式,需要Dom4j支持。
这都源于引入了UTL_DBWS包,其实它是封装了JPublisher,使得PL/SQL开发者只需要使用简单的 几个API就能调用Web Services了。本文将通过一个实例向你展示如何通过PL/SQL调用Web Services,本文的重点是PL/SQL调用Web ...
c# http请求webapi接口封装类
Java访问WebServices接口的简单实例,android可用,项目可直接导入Eclipse使用,有注释说明。看懂代码后可自己封装成自己项目使用。本人开发了一个款手机软件一直使用的这个,很稳定。
将socket封装,模拟简易web服务器。
一种基于多Agent的Web Services主动服务模型,杨杰,李臣明,本文设计了一种基于多Agent系统的Web Services主动服务模型。该模型把单一企业域中的UDDI封装为UDDI Agent,通过Agent之间的通信合作解决了跨
如果定位本机支持ES2015但不支持本机Web组件的浏览器: 您还将需要 。 有关和支持,请访问caniuse.com。 使用Shady DOM polyfill时有关CSS封装的注意事项如果打算使用Shady DOM *.vue ,建议在*.vue文件中使用代替&...
WIZnet活动主题:嵌入式WEB服务器搭建及HTTP(S)协议讲解-W5500封装库.rar
内含集成电路封装形式、封装材料以及封装过程的一些介绍,图文并貌,是从事IC制程、IC封装行业入门级教程。
P3频率曲线,已封装web服务
ajax的使用,在js中已经封装好的类库。在真实项目中很有用的一个ajax
Web服务平台是为使用特定编程语言来调用和部署Web Services而提供的一套工具集。 Web服务平台有服务端组件和客户端组件。服务端组件通常封装在某种类型的容器中。客户端组件通常封装为工具,用于访问绑定到Web ...
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序或者带界面的Windows程序都可以) 安装简单,修改方便 ...
flink-streaming-platform-web系统是基于Apache Flink 封装的一个可视化的、轻量级的flink web客户端系统,用户只需在web 界面进行sql配置就能完成流计算任务。主要功能:包含任务配置、启/停任务、告警、日志等功能...
前端 HTML5 Web SQL 封装用于前端搭建数据库。可以直接用, 大约20mb ,不够可以直接拓展。支持ios 和安卓
应用CICSWebService实现CICS程序的Web服务封装.pdf应用CICSWebService实现CICS程序的Web服务封装.pdf应用CICSWebService实现CICS程序的Web服务封装.pdf应用CICSWebService实现CICS程序的Web服务封装.pdf应用...