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 中的函数式接口

    详解Java 中的函数式接口

    这篇文章主要为大家介绍了Java中的函数式接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2021-12-12
  • MyBatis使用动态SQL标签的小陷阱

    MyBatis使用动态SQL标签的小陷阱

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,MyBatis越来越受大家的喜爱了。下面给大家分享MyBatis使用动态SQL标签的小陷阱,感兴趣的朋友一起看看吧
    2016-10-10
  • SpringBoot中处理的转发与重定向方式

    SpringBoot中处理的转发与重定向方式

    这篇文章主要介绍了SpringBoot中处理的转发与重定向方式,分别就转发和重定向做了概念解说,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • 基于Spring AOP实现日志自动打印功能

    基于Spring AOP实现日志自动打印功能

    这篇文章主要介绍了基于Spring AOP实现日志自动打印功能,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2025-01-01
  • springsecurity基于token的认证方式

    springsecurity基于token的认证方式

    本文主要介绍了springsecurity基于token的认证方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 详解Java ThreadPoolExecutor的拒绝策略

    详解Java ThreadPoolExecutor的拒绝策略

    这篇文章主要介绍了Java ThreadPoolExecutor的拒绝策略,本文对于线程的池的几种策略进行详细的讲解,在实际的生产中需要集合相关的场景来选择合适的拒绝策略,需要的朋友可以参考下
    2022-08-08
  • 浅谈java类和对象

    浅谈java类和对象

    这篇文章主要介绍了浅谈java类和对象,对于面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程),本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 用C++实现求N!中末尾0的个数的方法详解

    用C++实现求N!中末尾0的个数的方法详解

    这篇文章主要介绍了用C++实现求N!中末尾0的个数的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 实体类使用@Builder,导致@ConfigurationProperties注入属性失败问题

    实体类使用@Builder,导致@ConfigurationProperties注入属性失败问题

    这篇文章主要介绍了实体类使用@Builder,导致@ConfigurationProperties注入属性失败问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 解决出现 java.lang.ExceptionInInitializerError错误问题

    解决出现 java.lang.ExceptionInInitializerError错误问题

    这篇文章主要介绍了解决出现 java.lang.ExceptionInInitializerError错误问题的相关资料,需要的朋友可以参考下
    2017-01-01

最新评论