hadoop小學生
精靈王
精靈王
  • 注冊日期2018-09-13
  • 發帖數160
  • QQ3234520070
  • 火幣360枚
  • 粉絲0
  • 關注0
閱讀:19180回復:1

HanLP封裝為web services服務的過程介紹

樓主#
更多 發布于:2019-08-09 10:03
前幾天的召開的2019年大數據生態產業大會不知道大家關注到沒有,看到消息是hanlp2.0版本發布了。不知道hanlp2.0版本又將帶來哪些新的變化?準備近期看能夠拿到一些hanlp2.0的資料,如果能順利拿到的話,到時候分享給大家!今天分享這篇是關于將hanlp封裝到web services服務中的。文章的部分內容有修改,閱讀室請注意!

圖片:圖片51111.png



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=任意想出入的內容

喜歡0 評分0
DKHadoop用著還不錯!
taiyuanzhou
新手上路
新手上路
  • 注冊日期2019-08-25
  • 發帖數2
  • QQ1259811303
  • 火幣8枚
  • 粉絲0
  • 關注0
沙發#
發布于:2019-08-25 09:15
試試哈呵呵呵

回復(0) 喜歡(0)     評分
游客

返回頂部
摩卡网址是多少