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

adnb34g發表於2019-08-09


 

前幾天的召開的 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= 任意想出入的內容

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2653129/,如需轉載,請註明出處,否則將追究法律責任。

相關文章