Web Services服务之间调用

实验室项目 专栏收录该内容
6 篇文章 0 订阅

      今天被大师兄调用到他的项目组帮忙实现一个东西,其实就是用Web Services实现服务之间相互调用,然后给服务指定相应的出端口。Web Services是第一次使用,就当做是学习新东西吧。

    上网查了一下实现Web Services有很多种方式,或使用xfire框架,或使用axis框架,或使用jdk自带的JAX-WS,当然是使用简单快捷的。一开始用了xfire框架,很快就搭建好了web服务,生成了相应的wsdl文件,服务端完成。但当创建客户端时,在cmd下使用wsimport指令去响应wsdl文件时老是提示“无法访问该wsdl文件”,几次测试都不行,网上查了也没有这样的资料,只好换一种方式去实现。

      接下来是采用JAX-WS的方式,用Myeclipse下依然很容易就生成了,新建一个Web Services Project,选择JAX-WS方式,就创建好了工程。然后在该工程下写自己的类和方法,右键项目新建一个Web Service,指定你刚才写的类,就可以生成相应的“类名+Delegate”的文件,启动项目,在浏览器地址栏输入项目地址:

http://localhost:8080/Web_1/HelloDemo_1Port

     显示如下图,就表示你的服务已经生成。


      接下来是生成客户端,在Myeclipse下也是很简单,直接新建一个Web Service Client,指定wsdl的地址,就是刚才的http://localhost:8080/Web_1/HelloDemo_1Port?wsdl,这样你就相当了在本地工程有了你想要使用的服务里的类和方法,可以直接操作,像操作普通的类和方法一样。一个简单的Web Services的Demo就完成了。

      之后我生成了3个服务,其中第三个服务调用了前两个服务的方法,最后用一个客户端去使用第三个服务。

    最后的一个问题我一直没搞懂,大师兄说让我指定服务对外的端口,看服务里面有没有端口绑定的方法,始终没有弄明白什么意思,反正按照大师兄的意思去弄,总是弄不出来,后来大师兄问了大神,说他的那个思路有问题,我想了一下,不知道是不是说工程都是放到tomcat容器下去执行生命周期,他们的端口都由容器统一固定,不能更改,若要实现大师兄想要的效果,那就得从进程与端口映射的角度再去考虑了,我也不知道是否正确。这个问题现在还在研究中,我还是不清楚大师兄的需求,先告一段落吧,哈哈~~

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页

打赏作者

熊孩子会撒野

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值