第一个web service

原创 2016年08月30日 12:57:55

第一个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处理不了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

myeclipse下用axis2开发web service的第一个程序(SayHello)

SayHello是很多人都写过的web service。实现的功能是通过web服务输出“人名,how are you?” 本文参考网上众多资料,有的也不知源作者是谁,就不一一列举了,在此感谢愿意...

myeclipse下用axis2开发web service的第一个程序(SayHello)

SayHello是很多人都写过的web service。实现的功能是通过web服务输出“人名,how are you?”本文参考网上众多资料,有的也不知源作者是谁,就不一一列举了,在此感谢愿意shar...

eclipse+tomcat+axis2安装并发布第一个web service

详细介绍了eclipse+axis2+tomcat的安装,创建一个简单的web service,及其会遇到的问题...

Java RESTful Web Service实战

  • 2017年11月14日 15:37
  • 49.14MB
  • 下载

RESTful PHP Web Service

  • 2017年10月31日 16:58
  • 12.56MB
  • 下载

C#使用Http Post方式传递Json数据字符串调用Web Service

引言   前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿。现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做。由于C#中通过直接添加引用...

C++中使用soap toolkit访问Web Service

  • 2016年08月08日 08:57
  • 65KB
  • 下载

Apache CXF实战之六 创建安全的Web Service

本文链接:http://blog.csdn.net/kongxx/article/details/7534035Apache CXF实战之一 Hello World Web ServiceApache...
  • kongxx
  • kongxx
  • 2012年05月04日 10:49
  • 15233
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一个web service
举报原因:
原因补充:

(最多只允许输入30个字)