Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。它的功能是實現簡單易懂的接口交互,相較於傳統的Httpclient來說更加方便(相當於對於Httpclient的一層封裝),由於這個封裝是公共的,並且由於其方便的使用方式(尤其是在IDE中存在相關的webservice插件之後),逐漸成爲一種使用比較廣泛的接口交互方式。
AXIS1.X 的情況下其實存在多種的部署方式,在這裏我們只簡單介紹兩種比較常用的接口的發佈方式。(在這裏我們暫時不考慮使用Ecllipse自帶的工具進行簡單的發佈,主要是面向與服務器部署的應用)
AXIS1.X的核心就我看來就是一個文件server-config.wsdd這個文件詳細描述了接口應該如何被部署怎麼部署。首先我們先新建一個工程,簡單的web工程沒有太多可說
接下來我們先編寫一個類作爲我們要使用部署成爲webservice的類HellowWord
然後我們就要考慮怎麼將這個類中的方法發佈成爲webservice了,當然我們要使用的是AXIS1.X所以我們先要下載到相應的jar包文件,在這裏我所下載到的是AXIS1.4以下是相關的jar包的截圖
然後我們把這些的jar包都放到我們的工程lib之下,接下來我們需要在web.xml中註冊這個AXIS1.4的兩個servlet
<servlet>
<display-name>Axis Admin Servlet</display-name>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping>
然後這樣我們再可以運行一下工程可以通過鏈接查看AXIS部署的情況
這樣我們可以看到我們的AXIS1的相關的servlet已經在正常運行了,然後我們就要考慮怎麼吧一個固定的類和其中的方法發佈成爲接口了,在這裏我們需要新建一個server-config.wsdd文件來幫助我們將這個接口進行正常的部署。
在網上有許多實用複雜的方法進行部署的案例,在這裏我僅介紹一種簡單、基礎、便於閱讀的方法。
然後我們就能找到這個URL進行查看接口有沒有正確的被髮布成爲webservice接口http://localhost:8080/webserviceTest/services/webServiceTest?wsdl
如果需要提供namespace那我們就可以在wsdl的頭上找到相應的信息