axis2 发布WebService基础的基础

axis发布webservice有很多中方式,基于wsdl,wsdd等等,配置xml太麻烦,还是写点最最基础的:

1.       写一个 java 类有一些基本函数

 

   public class Test{

    //fields

    private    String name="gaga";

    public String setName(String name){

    this.name=name;

    return "hello "+this.name;

    }

}
 

 

 

 

2.    axis 的完整包中有 webapps 文件夹,里面有一个 axis 文件夹,把它复制到 $TOMCAT_HOME/webapps/ 下,并将刚才写的 Test.java 改名为 Test.jws(java web service) 并放到 $TOMCAT_HOME/webapps/axis/ 下,启动 tomcat ,可以输入网址: http://localhost:8080/Test.jws?wsdl 查看他的 wsdl 文件,这是由 /webapps/axis 内的文件动态生成的。这个时候其实已经发布 web 服务了。

3.       编写 web service 客户端:(把 axis jar 包加到项目 classpath 中)

 

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

 

public class TestWebService{  

    public static void main(String args[]){      

        System.out.println("Start invoking....");      

         try {

             String endpoint =

                      "http://localhost:8080/axis/Test.jws";//你写的那个文件

             String newName=new String("tianwei");

             Service  service = new Service();

             Call     call    = (Call) service.createCall();       

             call.setTargetEndpointAddress( new java.net.URL(endpoint) );

             call.setOperationName("setName");//填写你要调用的方法名称

             //call.addParameter("name", XMLType.SOAP_STRING, ParameterMode.IN);

             //call.setReturnClass(String.class);

             //下面是来调用webservice函数的,Call已经绑定函数setName(String name)

             //了,new Object[]{newName}中newName是传入的参数。当然,大括号内可以有

             //不止一个参数

             String name=(String)call.invoke(new Object[]{newName});          

            System.out.println(name);

            

         } catch (Exception e) {

             System.err.println(e.toString());

         }       

        System.out.println("Finished the invoking.");       

       

    }

   

}
 

 

 

 

运行结果 :

Start invoking....

hello tianwei

Finished the invoking.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值