简单的webservice发布和测试

eclipse发布
参考:http://www.cnblogs.com/cherxu/p/5179053.html
很简单,接口写好后,打个war包放到tomcat里面跑起来;

本例采用axis来测试;
发布好后,写一个简单的测试方法。
在eclipse里面新建一个动态web工程
写一个测试类TestWS,代码如下:
package com.enfo.testws;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestWS {
public static void main(String[] args) {
    try{                   //ip端口/ws项目名/services/接口方法所在类名,也可以在地址后面加上?wsdl
        String endpoint = "http://127.0.0.1:8080/LoginService/services/LogonService";
        Service service = new Service(); //新建一个axis的service对象
        Call call = (Call)service.createCall();//通过service新建一个axis的call对象
        call.setTargetEndpointAddress(endpoint);//设置call要访问的地址

     /**QName命名空间,http://ws.enfo.com,打开http://127.0.0.1:8080/LoginService/services/LogonService?wsdl
        *可以看到页面上显示成xml格式,里面有命名空间信息targetNamespace="http://ws.enfo.com"
        *ws.enfo.com其实就是接口类所在的包名:src下的com.enfo.ws
        */
        call.setOperationName(new QName("http://ws.enfo.com","hello"));//http://service.enfo.com是给接口地址随便设置的一个命名,hello是要调用的ws接口方法名
        call.addParameter(new QName("http://ws.enfo.com","name"), org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);//设置ws方法的参数对应的参数类型等信息
        //call.addParameter(new QName("http://ws.enfo.com","password"), org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);
        call.setReturnClass(String.class);//设置ws方法返回的值的类型;注意:如果方法中返回的是int,这里也可以设置成String.class
  //以上先创建call对象,再设置要访问接口的地址,给要执行的方法设置命名,给方法设置参数类型,设置返回类型
        String name="taptqqqqq";  //设置要传到接口的参数
        String ret =(String)call.invoke(new Object[] {name});//调用call的invoke方法访问接口,将设好的参数传过去,得到接口返回值
        System.out.println("发送的是:"+name);
        System.out.println("返回的是:"+ret);
    }catch(Exception e){
        System.err.println(e.toString());
    }
}
}


测试方法相关jar包:axis.jar,commons-discovery-0.2.jar,commons-logging.jar,jaxrpc.jar,saaj.jar,webserviceutils.jar,
wsdl4j.jar,补充:activation-1.1.jar,mail.jar
下载地址:
https://pan.baidu.com/s/1nvLXMIX

转载于:https://www.cnblogs.com/tapt/p/7243811.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值