Axis通过wsdd部署webservice 以及客户端调用

本文详细介绍了如何使用Apache Axis在Tomcat服务器上部署WebService。从新建Web工程开始,逐步讲解了配置过程,包括添加必要的Jar包、修改web.xml、创建服务类、配置server-config.wsdd,直至最终的部署和客户端测试。

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);
    }

}

执行,调用成功。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值