一个调用服务器端方法的代理类调用服务端暴露的方法介绍

图片[1]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

说到web,就不得不提大名鼎鼎的cxf,软件基金会的一个项目。但是这种项目必须提供各种功能,复杂度一定很高;各种兼容性,所以会有很多用途。当然,一个能成为基金会的项目太小了,无法命名。

今天我们从最简单的开始,基于之前JDK开发中对Web的理解用cxf生成客户端代码用cxf生成客户端代码,先用CXF开发最简单的Web,再考虑它的各种复杂性。

图片[2]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

这端的代码看起来比JDK实现要好得多。使用工厂创建,通过set方法设置属性,属性,然后使用.start方法启动服务。充满设计气息。

注意:红线标识了我们实际提供服务的具体实现类。

然后看我们通过浏览器生成的wsdl,难读如天书。

图片[3]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

我们再来看看客户端调用的代码。

图片[4]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

创建一个代理类,通过代理n调用服务端方法,通过代理类调用服务端暴露的方法。它实际上看起来像一个工厂方法。不知道后台是怎么实现的?

代码比JDK实现要多很多,而且看起来要复杂很多,那有什么好处呢?让我们从寻找可以帮助我们减少工作量的方法开始。

CXF 还提供了生成代码的方法。这个命令需要我们下载CXF。

命令: – :13579/doer?wsdl

还会生成很多文件,如下

图片[5]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

然后我们就可以用一种比较简单的方式调用服务了。

红线代码是生成的可以直接调用服务的客户端代码。我们可以直接运行并试一试。

图片[6]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

为什么!~ 和原来JDK生成的客户端相比,我们不用写代码了。哈哈哈!!!

在这里可以看到我们服务的调用没有使用任何参数,或者使用了空参数。

图片[7]-一个调用服务器端方法的代理类调用服务端暴露的方法介绍-4747i站长资讯

我们只需要修改下面的红线部分,并分配一个我们想要的参数。

我认为好处绝对应该超越生成代码。我从百度知道,CXF全面支持JAX-WS,并且提供各种绑定,各种格式,还可以根据实际需要通过代码生成wsdl,也可以通过wsdl生成代码。各种 maven 插件使集成更容易,并且也受支持。以及支持 XML 和非 XML 的可插拔架构。

总而言之,很酷。如果不出意外,如果这些理论都想通了,估计已经是网络的一大胜利了。

附带一些常用的生成命令:

-d 指定要生成的代码所在目录

– 为客户端测试网站生成代码

– 生成服务器启动网页的代码

-impl 生成网页实现代码

-ant 生成 build.xml 文件

-all 生成所有启动端点代码:类型、代理、 、 、 、 和 Ant build.xml 文件。返回搜狐,查看更多

文章来源:https://www.sohu.com/a/369728605_99990309

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享