本文环境
jdk1.6 、Axis1.4、 tomcat6、Myeclipse8.6
所需jar包:如图
下面说具体步骤:
1、新建web项目 AxisDemo,把上面的jar包 复制到lib目录2、配置web.xml
如图
<!-- Apache-Axis 配置开始 -->
<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-mapping> <servlet-name>AxisServlet</servlet-name> <display-name>查看Services列表</display-name> <url-pattern>/services/</url-pattern> </servlet-mapping><servlet-mapping>
<servlet-name>AxisServlet</servlet-name> <display-name>Services地址</display-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <!-- Apache-Axis 配置结束 -->
3、新建一个webservice java类
SayHello.java
package com.WebService.server;
public class SayHello {
public String getName(String name) { return "hello " + name; }}4、发布webservice (配置server-config.wsdd)
<!-- 发布WebService name:service名称 --> <service name="SayHello" provider="java:RPC"> <!-- 允许调用的方法 * 全部 --> <parameter name="allowedMethods" value="*" /> <!-- WebService 对应的class --> <parameter name="className" value="com.WebService.server.SayHello" /> </service> <!-- end -->5、发布web 运行站点(localhost 默认端口8080 )
查看Service列表 访问地址
wsdl地址:
经过上面几步 webService 服务端发布成功
下面说一下客户端如何使用
wsdl地址:
1、根据wsdl生成客户端代码
使用WSDL2Java工具直接生成
在WEB-INF目录下 新建一个WSDL2Java.bat
代码如下
set Axis_Lib=./lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%set Output_Path=F:\java\AxisDemo\srcset Package=com.WebService.client.pp%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% pause然后运行WSDL2Java.bat
刷新项目
客户端代码已经自动生成
测试Service代码
新建ServiceClientTest.java类
package com.WebService;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;import com.WebService.client.SayHelloServiceLocator;import com.WebService.client.SayHelloSoapBindingStub;public class ServiceClientTest {
/*
* 测试WebService */ public static void main(String[] args) throws ServiceException, RemoteException {// 调用WebService SayHello
SayHelloServiceLocator services = new SayHelloServiceLocator(); SayHelloSoapBindingStub sayHello = (SayHelloSoapBindingStub) services .getSayHello(); System.out.println(sayHello.getName("xxx"));}
}
然后运行ServiceClientTest
输入结果如下
这样客户端 也可以了。
更复杂的应用及配置 需要自己慢慢研究了。基本入门还是很简单的