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

WebService学习二

发布时间:2020-12-17 00:30:36 所属栏目:安全 来源:网络整理
导读:对WebService的个人理解: 1.使用cxf实现WebService:(仅自己测试使用) ①要想使用cxf实现webservice首先要导入cxf所需要的jar包,然后编写一个接口和一个接口实现类。接口和实现类都必须使用@WebService进行标注。在接口中和实现类中写一个简单的返回字符
对WebService的个人理解: 1.使用cxf实现WebService:(仅自己测试使用) ①要想使用cxf实现webservice首先要导入cxf所需要的jar包,然后编写一个接口和一个接口实现类。接口和实现类都必须使用@WebService进行标注。在接口中和实现类中写一个简单的返回字符串的方法。 ②在写完接口和实现类之后开始写一个带有Main方法的java类来启动Webservice。 在Main方法中要新建一个工厂服务器:JaxWsServerFactoryBean factory=new JaxWsServerFactoryBean();//新建一个工厂服务器 factory.setServiceClass(HelloWorldImpl.class);//来加载服务的类,参数是接口实现类的class文件 factory.setAddress("http://localhost:8080/HelloWorld");//设置地址 ? ? ? ? ? ? ? ? Server s=factory.create();//通过工厂得到Server(是org.apache.cxf.endpoint.Server包下的) s.start();//启动Server 当在控制台中显示成功时,在浏览器中打上设置的网站,再追加上?WSDL就会得到生成的WSDL文件。 ③为WebService建立客户端 新建一个含有Main方法的类,在类中使用代理工厂来建立webservice客户端。 JaxWsProxyFactoryBean factory=new JaxWsProxyFactoryBean();//新建代理工厂实例 factory.setAddress("http://localhost:8080/HelloWorld");//设置连接地址 factory.setServiceClass(HelloWorld.class);//设置接口类型(参数为接口而不是实现类) HelloWorld h=(HelloWorld) factory.create();//通过工厂创建接口。 System.out.println(h.sayHello("Jack")); 写完客户端和服务端,先启动服务端,在运行客户端,在客户端的控制台会显示接口实现类方法返回的内容,在服务端的控制台会显示接口实现类中的一些新增内容。 2.解析WebService生成的WSDL文件 在每个生成的WSDL文件中都有根元素:<wsdl:definitions name="接口实现类名字+Service" ……> 还有几个主要的元素<wsdl:types ……对应接口中参数的和返回值的类型>、<wsdl:message……>请求和响应都包装在message里、<wsdl:portType>、<wsdl:binding……>、<wsdl:service……> 3.WebService的工作原理:(包含WSDL和SOAP) WSDL:是描述WebService为客户端提供哪些服务,以及告诉客户端怎样调用服务 SOAP:是描述客户端和服务端之间的请求响应 客户端和服务端之间的联系: ①客户端发送get请求给服务端②服务端返回给客户端一个WSDL文件③客户端解析WSDL文件后发送SOAP请求给服务端④服务端返回SOAP响应结果 SOAP简单的说就是有一定规则的xml文件。为看看SOAP可以在服务端java类中添加拦截器,添加请求拦截器,添加一个新的日志拦截器 factory.getInInterceptors().add(new LoggingInInterceptor());和添加一个响应拦截器 factory.getOutInterceptors().add(new LoggingOutInterceptor());,来分别看看SOAP文件。

(编辑:李大同)

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

    推荐文章
      热点阅读