Java发布webservice

先附上一个webservice的视频教程:

链接:https://pan.baidu.com/s/1qesv_A7cp-zYsL7fE5nmFw 
提取码:3d6k 

创建服务端(提供接口):

方式一:创建一个web工程,创建一个ServiceHello类,如下:

 
  1. package com.test;

  2.  
  3. import javax.jws.WebService;

  4. import javax.xml.ws.Endpoint;

  5.  
  6. @WebService

  7. public class ServiceHello {

  8.  
  9. public String sayHello(String name){

  10. System.out.println("---BB---------ServiceHello--------------");

  11. return "欢迎你! "+name;

  12. }

  13.  
  14. public static void main(String[] args) {

  15. Endpoint.publish("http://127.0.0.1:8080/BB/ServiceHello", new ServiceHello());

  16. System.out.println("发布成功!");

  17. }

  18. }

创建webservice接口比较简单,在类上面加上@WebService注解,提供一个接口方法如sayHello,最后在main方法去发布接口。控制台打印出“发布成功”后,把main方法中的那个地址加上?wsdl复制到浏览器中,可以查看到这个wsdl文件。

但是这种方式是main方法运行的,一关闭就访问不到,一般都是通过tomcat发布的,所以这种方式只了解下。

方式二:创建一个web工程,创建一个ServiceHello类,类和上面相同,可以去掉main方法。

选中这个类右键,new一个web service,如下图:

点击next:

点击next,下图中选择提供接口的方法,因为这个类main方法我没去掉,所以显示两个方法,但是不选择main方法就行,点击finish完成。

会自动在项目下生产以下文件:

项目用tomcat启动,打开ServiceHello.wsdl文件,下面这个地址是接口地址,后面加?wsdl在浏览器中可以访问到。

 这种方式只是简单web项目,运行tomcat提供接口。视频中有基于Spring的WebService教程。

方式三: 对方提供一个wsdl文件,根据这个文件去生成服务端来提供服务。

创建一个web项目,把wsdl文件放在webcontent目录下:

 选择src或者项目右键,去new一个web service:

在“web service type”选择下面选项,然后点击Browser:

然后在新的弹出框中选择browser,去现在这个项目下的wsdl文件,点击OK:

点击OK:

点击finish:

会在项目下自动生成一些类,依赖jar包等文件,会生成新的wsdl文件,原先的wsdl文件就可以删除掉,项目通过tomcat启动即可访问到接口,访问和方式二的访问相同。

注意:这种方式有些是需要接口方法里面的逻辑的,把接口方法自己补充完整。

创建客户端(调用接口): 

方式一:通过提供的接口地址去生成客户端。我们用上面的http://localhost:8082/BB/services/ServiceHello?wsdl这个接口地址。

创建一个web项目:

选择项目右键去new一个web service client:

把接口地址填入service definition,这个地址一定是能访问得到的,不然会提示“The service definition selected is invalid.”,点击finish:

会自动生成一些接口文件。 

 生成之后去创建一个测试接口的类:

 
  1. package com.test;

  2.  
  3. public class Test {

  4. public static void main(String[] args) throws Exception {

  5. ServiceHelloServiceLocator l =new ServiceHelloServiceLocator();

  6. ServiceHello service = l.getServiceHello();

  7. String s = service.getValue("test");

  8. System.out.println(s);

  9. }

  10. }

 运行main方法,打印返回数据,测试成功:

方式二:通过给的wsdl生成客户端,来调用接口 。

创建一个web项目,把wsdl文件放在webcontent目录下,右键项目去new一个web service client:

点击browser去选择本项目下的wsdl文件,操作和根据wsdl创建服务端的操作相同。

点击finish,完成:

生成接口的类和依赖jar包:

这种方式需要注意一点,就是拿到的wsdl文件,文件最下面有接口地址:

 需要注意这个接口地址是不是可以访问的地址,或者是正式的接口地址,有时候是一个假的地址,访问不到,如下图:

这样生成的接口类,去测试是访问不到的,这时候去给对方要正式的接口地址,一般是在带有locator的这个类去改一下接口地址即可:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值