第一次自己做webservice,查了很多资料。以前觉得那些什么wsdd,wsdl挺高深。自己开发之后,才知道原来利用第三方软件能做很多事。而自己只需要实现业务逻辑即可。真是SOA思想的集中体现啊。第一步:编写wsdl文件,利用wsdl文件可以生成服务端或者客户端代码。我这里是生成服务端代码。New一个Web Service,在Web Service type中选择“Top down Java Bean Web Service”。在Service definition中找到刚才写的那个wsdl文件。之后一直next,直至finish。在后缀名为Iml的类中进行业务代码的编写。
第二步,编写完业务逻辑之后发布webservice。编写一个deploy.wsdd文件放在Web-INf下。
deploy.wsdd示例如下:(deploy.wsdd文件可以写多个,部署成功一次会向原有服务中添加一个)
<deployment xmlns="http://xml.apache.org/axis/wsdd/" ?
??? xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> ?
??? <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" /> ?
???? <service name="ExportClipService" provider="java:RPC">
??????? <parameter name="className" value="com.cdv.webservice.ExportClipBindingImpl"/>
??????? <parameter name="allowedMethods" value="exportClip"/>
??? </service> ?
??? <transport name="http"> ?
??????? <requestFlow> ?
??????????? <handler type="URLMapper"/>
??????? </requestFlow> ?
??? </transport>???? ?
</deployment>
之后编写deploy.bat
内容如下:set Axis_Lib=D:workspacetestWEB-INFlib(该文件夹应该包括axis发布webservice所需要的所有jar包)
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/test/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
之后便可以在server-config.wsdd文件中(该文件自动生成)看到发布成功的service