加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice的应用--java+maven项目

发布时间:2020-12-16 21:43:17 所属栏目:安全 来源:网络整理
导读:? ? ?WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务


? ? ?WebService是一种跨编程语言和跨操作系统平台的远程调用技术。所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务器上。再比如淘宝网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,就是所谓的SOA应用。

??? WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。

????? 个人感受:公司开发的一个系统关联了很多其他系统,我负责了关联其中两个系统,一个是作为服务端,由另一个系统调用;一个是作为客户端,调用另一个系统。这也是我第一次接触webservice,感觉很有意思,很神奇,在这里记录下我使用的过程。

一、开发服务端

?? 作为服务端的开发,是其他系统调用我们系统的接口,向我们传数据,我使用了cxf技术

1.在pom.xml里加入cxf的引入

? <dependency>
???<groupId>org.apache.cxf</groupId>
???<artifactId>cxf-rt-frontend-jaxws</artifactId>
???<version>2.7.2</version>
??</dependency>
??<dependency>
???<groupId>org.apache.cxf</groupId>
???<artifactId>cxf-rt-transports-http</artifactId>
???<version>2.7.2</version>
??</dependency>
??<dependency>
???<groupId>org.apache.cxf</groupId>
???<artifactId>cxf-rt-transports-http-jetty</artifactId>
???<version>2.7.2</version>
???<scope>provided</scope>
??</dependency>

2.创建webservice的接口


3.配置applicationContext.xml

???


其中,id是方法名;implementor是接口路径;address是客户端调用是需要用到的,这里是按照个人想法起的全称。


4.在本地写测试方法,测试是否能连通

/*
? * webservice测试
? * @param args
? */
?public static? void main(String args[]){
??JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();??
??????? factoryBean.setServiceClass(WebServiceManager.class);??
??????? factoryBean.setAddress("http://localhost:8880/cps-server/webservice/exchange?wsdl");??
??????? WebServiceManager readerService = (WebServiceManager)factoryBean.create();?
??????? EventBean bean = new EventBean();
??????? bean.setEvent_System_Name(new String("集中监控"));
??????? bean.setHost_Name(new String("F3-10-11展华监控数据库主机"));
??????? bean.setEvent_Desc(new String("表空间使用率超过100%"));
??????? bean.setEvent_Level(new String("5"));
??????? bean.setEvent_TypeF(new String("databa"));
??????? bean.setEvent_TypeF_Name(new String("表空间使用率"));
??????? bean.setHost_IP(new String("192.210.0.11"));
??????? bean.setEvent_Level_Name(new String("严重告警"));
??????? bean.setEvent_Happend_Time(new String("2016-10-27 15:00:00"));
????????
??????? int i = readerService.createMonitorInfor(bean);??
??????? System.out.println("成功没???????????????????????"+i+"++++++++++++++++++++");??


?}




二、开发客户端

??? 作为客户端,我们是调用其他系统的接口,我当时是看了他们的接口,寻问了他们webservice所使用的技术,他们使用的是另外一种技术---axis,所以我又了解了一种技术,总体感觉还是这个技术没有cxf好用,太复杂。


1.在pom.xml里引入axis的包

<dependency>
???<groupId>org.apache.axis</groupId>
???<artifactId>axis</artifactId>
???<version>1.4</version>
??</dependency>
??<dependency>
???<groupId>javax.xml</groupId>
???<artifactId>jaxrpc-api</artifactId>
???<version>1.1</version>
??</dependency>

2.在客户端创建一份服务端的接口文件(不需要实现),拷贝过来就行

3.在客户端创建一份jws格式的文件,从服务端拷贝过来

4.在客户端需要用到的地方调用即可,测试是否能通,和上面的测试方法类似

其中,targetEendPoint是服务端接口url;space是服务端接口所在包;




转载地址:http://www.voidcn.com/article/p-criqrzze-bpn.html

? ? ?WebService是一种跨编程语言和跨操作系统平台的远程调用技术。所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务器上。再比如淘宝网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,就是所谓的SOA应用。

??? WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。

????? 个人感受:公司开发的一个系统关联了很多其他系统,我负责了关联其中两个系统,一个是作为服务端,由另一个系统调用;一个是作为客户端,调用另一个系统。这也是我第一次接触webservice,感觉很有意思,很神奇,在这里记录下我使用的过程。

一、开发服务端

?? 作为服务端的开发,是其他系统调用我们系统的接口,向我们传数据,我使用了cxf技术

1.在pom.xml里加入cxf的引入

? <dependency>
???<groupId>org.apache.cxf</groupId>
???<artifactId>cxf-rt-frontend-jaxws</artifactId>
???<version>2.7.2</version>
??</dependency>
??<dependency>
???<groupId>org.apache.cxf</groupId>
???<artifactId>cxf-rt-transports-http</artifactId>
???<version>2.7.2</version>
??</dependency>
??<dependency>
???<groupId>org.apache.cxf</groupId>
???<artifactId>cxf-rt-transports-http-jetty</artifactId>
???<version>2.7.2</version>
???<scope>provided</scope>
??</dependency>

2.创建webservice的接口


3.配置applicationContext.xml

???


其中,id是方法名;implementor是接口路径;address是客户端调用是需要用到的,这里是按照个人想法起的全称。


4.在本地写测试方法,测试是否能连通

/*
? * webservice测试
? * @param args
? */
?public static? void main(String args[]){
??JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();??
??????? factoryBean.setServiceClass(WebServiceManager.class);??
??????? factoryBean.setAddress("http://localhost:8880/cps-server/webservice/exchange?wsdl");??
??????? WebServiceManager readerService = (WebServiceManager)factoryBean.create();?
??????? EventBean bean = new EventBean();
??????? bean.setEvent_System_Name(new String("集中监控"));
??????? bean.setHost_Name(new String("F3-10-11展华监控数据库主机"));
??????? bean.setEvent_Desc(new String("表空间使用率超过100%"));
??????? bean.setEvent_Level(new String("5"));
??????? bean.setEvent_TypeF(new String("databa"));
??????? bean.setEvent_TypeF_Name(new String("表空间使用率"));
??????? bean.setHost_IP(new String("192.210.0.11"));
??????? bean.setEvent_Level_Name(new String("严重告警"));
??????? bean.setEvent_Happend_Time(new String("2016-10-27 15:00:00"));
????????
??????? int i = readerService.createMonitorInfor(bean);??
??????? System.out.println("成功没???????????????????????"+i+"++++++++++++++++++++");??


?}




二、开发客户端

??? 作为客户端,我们是调用其他系统的接口,我当时是看了他们的接口,寻问了他们webservice所使用的技术,他们使用的是另外一种技术---axis,所以我又了解了一种技术,总体感觉还是这个技术没有cxf好用,太复杂。


1.在pom.xml里引入axis的包

<dependency>
???<groupId>org.apache.axis</groupId>
???<artifactId>axis</artifactId>
???<version>1.4</version>
??</dependency>
??<dependency>
???<groupId>javax.xml</groupId>
???<artifactId>jaxrpc-api</artifactId>
???<version>1.1</version>
??</dependency>

2.在客户端创建一份服务端的接口文件(不需要实现),拷贝过来就行

3.在客户端创建一份jws格式的文件,从服务端拷贝过来

4.在客户端需要用到的地方调用即可,测试是否能通,和上面的测试方法类似

其中,targetEendPoint是服务端接口url;space是服务端接口所在包;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读