第一章 JAX-WS认识

第一章 JAX-WS认识JAX-WS近期的项目工作涉及大量的接口测试,接口是基于Soap协议的Webservice接口。之前测试是使用Soapui进行接口测试,由于接口中涉及大量的变量需要填写或修改,深深的感到总是做着重复

大家好,又见面了,我是你们的朋友全栈君。

JAX-WS

  近期的项目工作涉及大量的接口测试,接口是基于Soap协议的Webservice接口。之前测试是使用Soapui进行接口测试,由于接口中涉及大量的变量需要填写或修改,深深的感到总是做着重复又枯燥的工作;建立在这样的基础上考虑了自动化接口测试,初识自动化接口测试时走了不少弯路,最后决定使用JAX-WS规范生成Webservice client即接口里的相关请求、响应、实体的对象(也就是处理SOAP消息的代码),再根据相关的业务来组装接口请求,并完成相关校验。以下是关于JAX-WS的认识,以下摘自百度百科:

 


 

  JAX-WS规范是一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。
  在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对应的SOAP消息。
  在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。
  在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。
  当然 JAX-WS 也提供了一组针对底层消息进行操作的API调用,你可以通过Dispatch 直接使用SOAP消息或XML消息发送请求或者使用Provider处理SOAP或XML消息。
  通过web service所提供的互操作环境,我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net等)的互操作。
  JAX-WS与JAX-RPC之间的关系
  Sun最开始的web services的实现是JAX-RPC 1.1 (JSR 101)。这个实现是基于Java的RPC,并不完全支持schema规范,同时没有对Binding和Parsing定义标准的实现。
  JAX-WS2.0 (JSR 224)是Sun新的web services协议栈,是一个完全基于标准的实现。在binding层,使用的是the Java Architecture for XML Binding (JAXB, JSR 222),在parsing层,使用的是the Streaming API for XML (StAX, JSR 173),同时它还完全支持schema规范。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154637.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android中构建数据业务应用

    Android中构建数据业务应用

    2021年7月31日
    54
  • spring框架aop的理解_通俗易懂理解部分分式展开法

    spring框架aop的理解_通俗易懂理解部分分式展开法源地址:http://www.verydemo.com/demo_c143_i20837.html1.我所知道的aop  初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的

    2022年8月11日
    5
  • AngularJS 模块「建议收藏」

    AngularJS 模块「建议收藏」模块定义了一个应用程序。模块是应用程序中不同部分的容器。模块是应用控制器的容器。控制器通常属于一个模块。1创建模块你可以通过AngularJS的angular.module函数来创建模块:<divng-app=”myApp”>…</div><script>varapp=angular.module(“my…

    2022年7月25日
    7
  • vim的复制粘贴命令_linux vim全选复制

    vim的复制粘贴命令_linux vim全选复制一、最基本的复制粘贴1.将光标移动到要复制的文本开始的地方,按v进入可视模式。2.将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。3.移动光标到文本结束的地方,按p粘贴。…

    2022年9月2日
    7
  • loadrunner压力测试一般使用流程

    loadrunner压力测试一般使用流程博主很懒,只留下一个网址:https://www.cnblogs.com/jaazz/p/8668214.html

    2022年7月18日
    21
  • Python gzip和bz2模块 读写.gz 和.bz2压缩文件

    Python gzip和bz2模块 读写.gz 和.bz2压缩文件读写压缩文件问题你想读写一个gzip或bz2格式的压缩文件。解决方案gzip和bz2模块可以很容易的处理这些文件。两个模块都为open()函数提供了另外的实现来解决这个问题。比如,为了以文本形式读取压缩文件,可以这样做:#gzipcompressionimportgzipwithgzip.open(‘somefile.gz’,’rt’)asf:…

    2022年5月23日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号