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的头上找到相应的信息