加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

【WebService】快速创建webservice实例

发布时间:2020-12-16 21:36:51 所属栏目:安全 来源:网络整理
导读:快速创建webservice实例步骤: 1、建立IMyService接口类: @WebService () public interface IMyService { /** * 加法 * @param a * @param b * @return */ @WebResult (name= "addResult" ) public int add (@ WebParam (name= "a" ) int a, @WebParam (nam

快速创建webservice实例步骤:
1、建立IMyService接口类:

@WebService()
public interface IMyService {

    /** * 加法 * @param a * @param b * @return */
    @WebResult(name="addResult")
    public int add(@WebParam(name="a")int a,@WebParam(name="b")int b);

    /** * 减法 * @param a * @param b * @return */
    @WebResult(name="minusResult")
    public int minus(@WebParam(name="a")int a,@WebParam(name="b")int b);

}

2、建实现类IMyServiceImpl:

@WebService(endpointInterface="org.zttc.service.IMyService")
public class MyServiceImpl implements IMyService {

    /** * 加法 * @param a * @param b * @return */
    @Override
    public int add(int a,int b) {
        System.out.println(a+"+"+b+"="+(a+b));
        return a+b;
    }

    /** * 减法 * @param a * @param b * @return */
    @Override
    public int minus(int a,int b) {
        System.out.println(a+"-"+b+"="+(a-b));
        return a-b;
    }
}

3、MyServer类:测试是否部署成功

/** * server端 * @author 王红伟 * */
public class MyServer {

    public static void main(String[] args) {
        String address = "http://localhost:8888/ns";
        //发布地址
        Endpoint.publish(address,new MyServiceImpl());
    }

}

启动MyServer,访问http://localhost:8888/ns

这里写图片描述


url后加?wsdl如:http://localhost:8888/ns?wsdl 结果:

wsdl页


看到这里,证明我们部署成功了。

4、写TestClient测试类:部署成功后,我们就可以调用了

public class TestClient {
    public static void main(String[] args) {
        try {
            //创建访问wsdl服务地址的url
            URL url = new URL("http://localhost:8888/ns?wsdl");
            //通过Qname指明服务的具体信息
            //MyServiceImplService对应wsdl页的本地提供的webservice的名称
            QName sname = new QName("http://service.zttc.org/","MyServiceImplService");
            //创建服务
            Service service = Service.create(url,sname);
            //实现接口
            IMyService ms = service.getPort(IMyService.class);
            System.out.println(ms.add(12,33));
            //以上服务有问题,依然依赖于IMyServie接口
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
}

运行TestClient,最终结果为45
直接将wsdl转为java对象,但是存在问题,

//实现接口
IMyService ms = service.getPort(IMyService.class);

这句代码依赖外部接口,wsdl可能是.net开发的,可能是其他语言开发的,依赖接口不能跨平台。所以引出了wsimport的使用。 关于webservice的实例就到这里,下篇博客将为您展示wsimport的使用,欢迎您的访问。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读