第一个web service

第一个web service服务端

  1. 创建一个接口,并用@WebService注解标注
  2. 创建接口实现类,并用相同注解标注。
  3. 接口注解中添加两个字段:endpointInterface,它的意思是指定接口名;第二个是servicename,这个是自定义的,给创建的服务起一个名字。
  4. 接着引入jar包,具体见eclipse项目里面的
  5. 创建一个主类,将其发布出去(这里不一定是主类,只要最后启动某一个类后,最终能达到发布的效果即可)发布的代码是:Endpoint.publish(发布服务的IP地址/发布的服务名(这个名也是随意起),实现服务接口的一个类对象);举例:Endpoint.publish(“http://192.168.1.100/MyFristService“, new HelloWorldWs());

因为导入了servlet,jetty等包,虽然创建时是一个java项目,不过运行后已经是一个web项目了,里面已经有jetty这个web服务器了。所以里面很多东西跟web项目很像。也可以通过浏览器访问它。任何平台,任何语言所写的代码现在都可以调用它。

第一个web service客户端

  • 调用cxf提供的wsdl2java工具,根据wsdl文档生成相应的java代码。
    命令行输入:wsdl2java http://ip地址/服务名?wsdl 即可。在当前文件夹下面生成一些java文件

    wsdl–web service definition language

    任何语言实现了web service,都需要提供wsdl文档

  • 找到wsdl2java生成的java文件中,继承了service类的类(这个类的名字与在服务端是设置servicename字段的名字相同),这个类的实例可以当做工厂来使用。

  • 创建实例后,调用这个实例的getXXXPort()方法—注意,这个方法是无参的。返回一个远程web service 代理类,这个类属于一个接口,这个接口的名字与服务端设置的endpointInterface里面设置的一致,我们可以进而调用这个接口的方法。

  • 如果函数的返回值是Map,非javabean等复杂类型,那么cxf处理不了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值