axis 可以随意部署在大部分 web application server 上,如: tomcat 。它与你自己部署的应用几乎没有任何的耦合关系你只需要在你的 web.xml 中配置一下 axis 就可以正常使用了。这样我们能够很方便的将 axis 集成到我们自己开发的项目上。具体的配置如下:
xml 代码
- < listener >
- < listener-class > org.apache.axis.transport.http.AxisHTTPSessionListener listener-class >
- listener >
- < servlet >
- < servlet-name > AxisServlet servlet-name >
- < display-name > Apache-Axis Servlet display-name >
- < servlet-class >
- org.apache.axis.transport.http.AxisServlet
- servlet-class >
- servlet >
- < servlet >
- < servlet-name > AdminServlet servlet-name >
- < display-name > Axis Admin Servlet display-name >
- < servlet-class >
- org.apache.axis.transport.http.AdminServlet
- servlet-class >
- < load-on-startup > 100 load-on-startup >
- servlet >
- < servlet >
- < servlet-name > SOAPMonitorService servlet-name >
- < display-name > SOAPMonitorService display-name >
- < servlet-class >
- org.apache.axis.monitor.SOAPMonitorService
- servlet-class >
- < init-param >
- < param-name > SOAPMonitorPort param-name >
- < param-value > 5001 param-value >
- init-param >
- < load-on-startup > 100 load-on-startup >
- 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 > SOAPMonitorService servlet-name >
- < url-pattern > /SOAPMonitor url-pattern >
- servlet-mapping >
- < session-config >
- < session-timeout > 5 session-timeout >
- session-config >
- < mime-mapping >
- < extension > wsdl extension >
- < mime-type > text/xml mime-type >
- mime-mapping >
- < mime-mapping >
- < extension > xsd extension >
- < mime-type > text/xml mime-type >
- mime-mapping >
只要将上述的配置信息加入到你的 web 应用中就可以将 Axis 集成到你自己的项目中去了。还有一点需要说明,那就是除了这个
配置以外还有将你的 Axis.jar 和其他必要的 jar 文件加入到你的 WEB-INF/lib 目录中 , 以及发布你的的 webservice 的 classes 到
WEB-INF/classes/ 中。
需要说明的有下面两个配置:
- < servlet-mapping >
- < servlet-name > AxisServlet </ servlet-name >
- < url-pattern > /services/* </ url-pattern >
- </ servlet-mapping >
这个配置了指出所有
webservice
的访问都是以
"web
应用名
/service/webservice
名称
"
的形式来访问的。你可以更改它的名字
,
但是请注意。这个需要与你的其他
webservice
配置文件匹配或者说同步。如
WEB-INF
下的
server-config.wsdd
文件中对
webservice
的配置。还有
java2wsdl
和
wsdl2java
工具生成的代码中的配置。如:
wsdl2java
工具生成的类
MobileBossServiceLocator
类中的这
个
URL
的默认配置
- private java.lang.String MobileBoss_address = "http://localhost:8080/axis/services/MobileBoss" ;
除了上面的那个配置以外还有一个比较重要的配置:
- < servlet-mapping >
- < servlet-name > AxisServlet </ servlet-name >
- < url-pattern > *.jws </ url-pattern >
- </ servlet-mapping >
这个是通过
jws
既
java
源代码的方式发布
webservice
。这种情况用的比较少。知道有这个配置才能使用
jws
就可以了。
当然了除了这两个配置以外还有许多配置如
timeout
配置和监控器配置,这里就不多说了。我会在以后的高级应用中说明其他配置的功用。
祝大家工作顺利。
that's all!