首页 技术 正文
技术 2022年11月17日
0 收藏 949 点赞 2,627 浏览 1544 个字

因为webservice分为服务端和客户端,所以如果要学习的话,那么肯定是包括这两部分的了。

1.开发服务端的webservice:

  使用jdk开发ws其实很简单,只是需要一些注解:最重要的是

@WebService,@WebMethod

这两个注解,分类在类和方法上面注解。注明这是一个ws接口,然后在实现就可以了,下面是例子:

/**
* SEI 接口
* @author Hotusm
*
*/
@WebService
public interface HelloWs { @WebMethod
public String sayHello(String name);
}

我们声明了一个接口,然后在类上和方法上面都使用注解标记,然后我们在实现这个接口:

@WebService
public class HelloWsImpl implements HelloWs{ @Override
public String sayHello(String name) {
System.out.println("SEI IMPL");
return "hello "+name;
}}

这样一个ws的helloword就写好了,下面就剩下怎么发布ws了,我们要使用到jdk提供给我们方法了:

    Endpoint publish = Endpoint.publish("http://127.0.0.1:9999/WebService/hellows", new HelloWsImpl());//这里我们使用的是实现的那个方法。

注意,如果是java app的话,建议不要使用127.0.0.1而应该获取到本机的真是端口号,这样别人就能够调用你的ws了。还有就是这个端口不能够被占用了。不然是会报错的:webservice入门(2)开发ws程序,,最后发布完以后,我们可以通过流浪器打开地址http://127.0.0.1:9999/WebService/hellows?wsdl,如果看到xml文件,那么就证明发布成功啦。

2.开发客户端的ws

开发客户端代码会分为两部分:

1.获取wsdl文件,这个获取除了网上的那个地址,也有可能是第三方发给你的一个wsdl文件
2.使用jdk提供的工具生成客户端主体代码。
下面来示例一下:
  1.第一步一般只是准备工作,没什么好讲的只是讲一下怎么生成客户端代码。我们使用到了java的一个工具,在jdk的bin目录里面有一个webservice入门(2)开发ws程序,我们可以使用这个工具来帮助我们生成代码。

  ①。使用cmd,切换到存放生成代码的地方(这里需要注意下,生成的包名和服务器中的包名是一致的,所以别放在服务器的src下面,不然就覆盖了)。:

D:\ww>wsimport -keep http://127.12.0.1:9999/WebService/hellows?wsdl

这样,在d盘的ww文件夹下面就生成了webservice入门(2)开发ws程序这样的一个结构的包和一些类。下面怎么使用这些东西呢?

HelloWsImplService factory=new HelloWsImplService();
//一般情况下,你只需要看哪一个类继承了service,那么这个类就是factory了:public class HelloWsImplService extends Service {...}
HelloWs helloWsImplPort = factory.getHelloWsImplPort();//然后通过工厂获取到操作类,就是真正有意义的那个类
helloWsImplPort.sayHello("hotusm");

如果是一个储存在磁盘上的wsdl,我们需要这样来生成:

wsimport -keep D:\jeesite\WebServiceTest\src\weather.wsdl

其他的操作都是一样的。

CXF开发:cxf开发和jdk的开发是差不多的。差别是加上cxf的架包。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,490
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,905
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,739
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,491
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,130
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,293