1.新建web工程
新建一web工程,工程名称为demoservice。新建完成后,导入下图所示的axis相关的jar包。
2.在web.xml中添加axis相关的配置信息
<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>/services/*</url-pattern>
</servlet-mapping>
3.新建提供服务的Java类
在src下新建com包,在com包下新建HelloWorld类,HelloWorld的内容如下:
public class HelloWorld {
public String sayHello(String msg){
if(null==msg || "".equals(msg)){
return "您好!";
}else{
return "您好" + msg + "!";
}
}
public int sayAge(){
return 28;
}
}
4.配置server-config.wsdd
在src下新建文件,内容如下:
<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" />
<!-- 一个服务 -->
<!-- provider="java:RPC" webservice是以javabean的形式提供的-->
<service name="helloWorldService" provider="java:RPC">
<!-- 指定类名 -->
<parameter name="className" value="com.HelloWorld" />
<!-- 类中允许访问的方法 -->
<parameter name="allowedMethod" value="*"></parameter>
</service>
<!-- 指定处理器 -->
<transport name="http">
<requestFlow>
<handler type="URLMapper"/><!-- 引用上边的 -->
</requestFlow>
</transport>
</deployment>
5.部署到Tomcat测试
将工程发布到Tomcat,在浏览器里访问http://localhost:8899/tdmes/services,如果出现如下页面,则表示web service部署成功
点击上面的wsdl链接,进入下图所示页面
6. 客户端测试
(1) 在src右键,新建web service client
在方框中填入http://localhost:8899/tdmes/services/helloWorldService?wsdl
创建后会生成如下文件:
(2) 最后我们创建test.java
public class test {
public static void main(String[] args) throws MalformedURLException, RemoteException {
HelloWorldServiceLocator q=new HelloWorldServiceLocator();
java.net.URL url = new java.net.URL("http://localhost:8899/tdmes/services/helloWorldService?wsdl");
HelloWorldServiceSoapBindingStub w=new HelloWorldServiceSoapBindingStub(url,q);
String qw=w.sayHello("hello");
System.out.print(qw);
}
}
执行,调用成功。