java调用webService接口的代码实现

 更新时间:2023年02月01日 09:44:03   作者:梦想周游世界  
本文主要介绍了java调用webService接口的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

什么是webservice接口

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

webservice接口和http接口的区别

http接口走http协议,通过请求路径来区分调用方法,请求报文一般是key-value形式的,返回报文一般是json串,常用的是get和post方法来请求。

webservice接口走的soap协议,通过http传输,请求报文和返回报文都是xml。Web Service的主要目标是跨平台的可互操作性。为了实现这一目标,Web Service 完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

http与soap的区别:
(1) http:标准超文本传输协议;soap:简单对象访问协议。
(2) 都是底层的通信协议,请求包的格式不同,http纯文本格式,soap包是XML格式。
(3) http只能传输纯文本数据, soap可以传递结构化的数据。
(4) soap相对http(post/get)要进行xml解析,速度可能会有所降低。

如何用java代码调用webservice接口

java代码调用webservice接口的方式有很多,我这里介绍使用axis调用webservice接口

// 第一步先导入依赖包

// 创建服务对象
Service service = new Service();
// 生成客户端,实例化调用变量
Call call = (Call) service.createCall();
// 设置超时时间
call.setTimeout(5000);
// 设置服务地址,指明远程调用的类, 设置url
call.setTargetEndpointAddress(new URL(url));
// 设置远程调用类中的方法,添加调用的函数的命名空间以及函数名称
call.setOperationName(new QName("命名空间","方法名"));
// 设置请求参数(根据服务端需要的参数设置例如需要一个参数名为Name的String类型)IN为输入 out 为输出 INOUT为输入输出
// call.addParameter("入参名", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("入参名", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
// 设置返回数据类型(接口出参类型,有时需要写)
// call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
// 调用webService获得返回的数据 转入一个Object[]数组,数组的元素就是转入参数的值
outXml = (String) call.invoke(new Object[] {inXml});
// 打印接口返回值
System.out.println(outXml);

接口出参是一个字符串,如何处理出参,获取到想要的数据,可以看下一篇文章:documentHelper解析xml获取想要的数据

到此这篇关于java调用webService接口的代码实现的文章就介绍到这了,更多相关java调用webService接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java爬虫之使用HttpClient模拟浏览器发送请求方法详解

    java爬虫之使用HttpClient模拟浏览器发送请求方法详解

    这篇文章主要介绍了java爬虫之使用HttpClient模拟浏览器发送请求方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • SpringBoot整合Redis将对象写入redis的实现

    SpringBoot整合Redis将对象写入redis的实现

    本文主要介绍了SpringBoot整合Redis将对象写入redis的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Java实现获取某年某月第一天/最后一天的方法

    Java实现获取某年某月第一天/最后一天的方法

    这篇文章主要介绍了Java实现获取某年某月第一天/最后一天的方法,涉及java日期运算相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 详解JAVA中priorityqueue的具体使用

    详解JAVA中priorityqueue的具体使用

    这篇文章主要介绍了详解JAVA中priorityqueue的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Spring boot + mybatis + orcale实现步骤实例代码讲解

    Spring boot + mybatis + orcale实现步骤实例代码讲解

    这篇文章主要介绍了Spring boot + mybatis + orcale的实现步骤实例代码讲解,需要的朋友可以参考下
    2017-12-12
  • 深入聊一聊springboot项目全局异常处理那些事儿

    深入聊一聊springboot项目全局异常处理那些事儿

    最近在做项目时需要对异常进行全局统一处理,所以下面这篇文章主要给大家介绍了关于springboot项目全局异常处理那些事儿,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • 一篇文章带你了解JAVA面对对象三大特征之封装

    一篇文章带你了解JAVA面对对象三大特征之封装

    所有的面向对象编程语言的思路都是差不多的,而这三大特性,则是思路中的支柱点,接下来我就重点讲解了一下java三大特性-封装,感兴趣的朋友跟随脚本之家小编一起看看吧
    2021-08-08
  • 详解Spring Boot使用Maven自定义打包方式

    详解Spring Boot使用Maven自定义打包方式

    这篇文章主要介绍了Spring Boot使用Maven自定义打包方式,本文通过多种方式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • java.text.DecimalFormat类十进制格式化

    java.text.DecimalFormat类十进制格式化

    这篇文章主要为大家详细介绍了java.text.DecimalFormat类十进制格式化的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • SpringBoot中整合knife4j接口文档的实践

    SpringBoot中整合knife4j接口文档的实践

    这篇文章主要介绍了SpringBoot中整合knife4j接口文档的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论