在axis中通过wsdd文件发布和卸载webservice
转自http://yangyang.iteye.com/blog/56552
在上一篇<>中我介绍了一种简单webservice的发布方式-jws。
???? 这种发布方式非常的敏捷!但有它的局限性—你必须知道webservice的源代码。有时候这个的确很让人郁闷!比如:的webservice被打成了一个jar包,你并没有源代码。或者这个webservice根本就不是你的公司开发的。这时你发布这个webservice就会变得很困难。axis针对这种情况提供了wsdd文件的方式来发布和撤销webservice。
???? 现在我们来通过一个wsdd文件来对wsdd有个初步的认识。注意:在开始下面的步骤前请安装axis.具体安装请看上一篇
xml 代码- <?xml?version="1.0"?encoding="UTF-8"?>??<deployment?xmlns="http://xml.apache.org/axis/wsdd/"?xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">??
- ?<globalConfiguration>????<parameter?name="sendMultiRefs"?value="true"/>??
- ??<parameter?name="disablePrettyXML"?value="true"/>????<parameter?name="adminPassword"?value="admin"/>??
- ??<parameter?name="attachments.Directory"?value="C:\tomcat5\webapps\axis\WEB-INF\attachments"/>????<parameter?name="dotNetSoapEncFix"?value="true"/>??
- ??<parameter?name="enableNamespacePrefixOptimization"?value="false"/>????<parameter?name="sendXMLDeclaration"?value="true"/>??
- ??<parameter?name="sendXsiTypes"?value="true"/>????<parameter?name="attachments.implementation"?value="org.apache.axis.attachments.AttachmentsImpl"/>??
- ??<requestFlow>?????<handler?type="java:org.apache.axis.handlers.JWSHandler">??
- ????<parameter?name="scope"?value="session"/>?????</handler>??
- ???<handler?type="java:org.apache.axis.handlers.JWSHandler">??????<parameter?name="scope"?value="request"/>??
- ????<parameter?name="extension"?value=".jwr"/>?????</handler>??
- ??</requestFlow>???</globalConfiguration>??
- ?<handler?name="LocalResponder"?type="java:org.apache.axis.transport.local.LocalResponder"/>???<handler?name="URLMapper"?type="java:org.apache.axis.handlers.http.URLMapper"/>??
- ?<handler?name="Authenticate"?type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>???<service?name="AdminService"?provider="java:MSG">??
- ??<parameter?name="allowedMethods"?value="AdminService"/>????<parameter?name="enableRemoteAdmin"?value="false"/>??
- ??<parameter?name="className"?value="org.apache.axis.utils.Admin"/>????<namespace>http://xml.apache.org/axis/wsdd/</namespace>??
- ?</service>???<service?name="Version"?provider="java:RPC">??
- ??<parameter?name="allowedMethods"?value="getVersion"/>????<parameter?name="className"?value="org.apache.axis.Version"/>??
- ?</service>??<!-- ?
- ?原来的service的定义已经删除! ?-->??
- ?<transport?name="http">????<requestFlow>??
- ???<handler?type="URLMapper"/>?????<handler?type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>??
- ??</requestFlow>????<parameter?name="qs:list"?value="org.apache.axis.transport.http.QSListHandler"/>??
- ??<parameter?name="qs:wsdl"?value="org.apache.axis.transport.http.QSWSDLHandler"/>????<parameter?name="qs.list"?value="org.apache.axis.transport.http.QSListHandler"/>??
- ??<parameter?name="qs.method"?value="org.apache.axis.transport.http.QSMethodHandler"/>????<parameter?name="qs:method"?value="org.apache.axis.transport.http.QSMethodHandler"/>??
- ??<parameter?name="qs.wsdl"?value="org.apache.axis.transport.http.QSWSDLHandler"/>???</transport>??
- ?<transport?name="local">????<responseFlow>??
- ???<handler?type="LocalResponder"/>????</responseFlow>??
- ?</transport>??</deployment>??
?????? 看是不是很简单,不仅省去了ctrl+c和ctrl+v,还防止了手动配置出错。一举两得岂不快哉!<o:p></o:p>