SpringBoot项目使用 axis 调用webservice接口的实践记录

目录
  • WebService
    • 定义
    • 个人理解
  • 实践
    • webservice 常识
    • 一个webservice 接口发布地址往往类似:
    • qq在线接口验证接口为例
    • maven 使用 axis
    • 应用依赖(不可缺失必须)
    • 代码(粘贴可用)

实际工作场景中会存在对接去很多系统的数据的任务,数据对接呢 方式很多吧,接触过 :

  • http| https请求
  • 数据库视图
  • 数据库存储过程
  • soap+xml工单...

然后这两天接到一个关于webservice 数据接口的方式对接,说实话对于这个一脸懵逼,完全不知道是啥(听一个比较年长的大哥说一些比较老的系统中喜欢使用这个进行数据对接)。所以只能学习一下然后进行搞了

WebService

定义

个人理解

通过度娘等方式,个人理解为变相的soap协议加xml工单处理,

实践

webservice 常识

一个webservice 接口发布地址往往类似:

  • qq 在线验证接口:

www.webxml.com.cn/webservices…

  • 其他可测试接口:

email电子邮箱地址接口: www.webxml.com.cn/WebServices…

全国天气情况接口:

www.webxml.com.cn/WebServices…

qq在线接口验证接口为例

在接口后面加:/wsdl www.webxml.com.cn/webservices…

访问查看然后找到下图中定义的内容:注意使用关联key找到对应的必要使用的参数。

maven 使用 axis

应用依赖(不可缺失必须)

        <!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/wsdl4j/wsdl4j -->
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
<!--        解决cell 转换问题-->
        <!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api -->
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc-api</artifactId>
            <version>1.1</version>
        </dependency>
<!--       解析调用结果以及数据转换包-->
        <!-- https://mvnrepository.com/artifact/commons-discovery/commons-discovery -->
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>

代码(粘贴可用)

@Test
public void testWebService() {
    try {
        //wsdl地址
        String endpoint = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
        //命名空间
        String namespace = "http://WebXml.com.cn/";
        //服务名
        String serviceName = "qqOnlineWebService";
        //方法名
        String methodName = "qqCheckOnline";
        //soapAction
        String soapAction = "http://WebXml.com.cn/qqCheckOnline";

        Service service = new Service();
        Call call = (Call) service.createCall();
        //设置响应超时
        call.setTimeout(3000);
        //设置地址
        call.setTargetEndpointAddress(new java.net.URL(endpoint));
        //设置方法名
        call.setOperationName(new QName(namespace, methodName));

        //设置参数
        call.addParameter(new QName(namespace, "qqCode")
                , org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        //设置返回类型
        call.setReturnType(XMLType.XSD_SCHEMA);
        //启用soap
        call.setUseSOAPAction(true);
        //设置soapAction
        call.setSOAPActionURI(soapAction);
        //设置服务名
        SOAPService soapService = new SOAPService();
        soapService.setName(serviceName);
        call.setSOAPService(soapService);
        Schema result = (Schema) call.invoke(new Object[]{"xxxxx"});
        for (int i = 0; i < result.get_any().length; i++) {
            System.out.println(result.get_any()[i]);
        }
    } catch (Exception e) {
        log.error("ddd", e);
    }
}

对于以上代码,我这边吐槽一下,网上其实很多这个的例子但是实际调用的时候会出问题,注意点:

  • 设置参数

  • 获取结果

xxxx需要填写真实的QQ号码

到此这篇关于SpringBoot项目使用 axis 调用webservice接口的文章就介绍到这了,更多相关SpringBoot调用webservice接口内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot调用第三方WebService接口的操作技巧(.wsdl与.asmx类型)

    SpringBoot调webservice接口,一般都会给你url如: http://10.189.200.170:9201/wharfWebService/services/WharfService?wsdl http://10.103.6.158:35555/check_ticket/Ticket_Check.asmx 其中.asmx是.net开发提供的webservice服务. 依赖 引入相关依赖: <!-- webService--> <dependency> <gr

  • SpringBoot整合WebService服务的实现代码

    目录 为什么使用WebService? 适用场景: 不适用场景: Axis2与CXF的区别 SpringBoot使用CXF集成WebService WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互. 其实WebService并不是什么神秘的东西,它就是一个可以远程调用的类,或者说是组件,把你本地的功能开放出去共别人调用. 为什么使用WebService? 简单解释一

  • springboot整合cxf发布webservice以及调用的方法

    webservice性能不高,但是现在好多公司还是在用,恰好今天在开发的时候对接项目组需要使用到webservice下面来说下简单的案例应用 首先老规矩:引入jar包 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.1.11</version> &

  • SpringBoot整合WebService的实现示例

    目录 SpringBoot搭建WebService程序 一.定义规范接口 二.搭建WebService服务端 三.搭建WebService客户端 WebService是一种传统的SOA技术架构,它不依赖于任何的编程语言,也不依赖于任何的技术平台,可以直接基于HTTP协议实现网络应用间的数据交互. 面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作

  • SpringBoot使用CXF集成WebService的方法

    1.写在前面 WebService 对我来说既熟悉又陌生,已经将近六七年没有看到过他了, 具体的介绍我就不多少了, 想了解的百度百科下说的很详细. 之所以突然研究WebService是接到一个需求要去给 XX 项目做一个适配层,他们原有系统是使用webservice做的,所以-- 那我们就来看看,这一个古老的技术如何和如今最流行的框架SpringBoot进行结合. 2.SpringBoot 集成WebService 2.1 导入依赖 compile('org.springframework.bo

  • SpringBoot项目使用 axis 调用webservice接口的实践记录

    目录 序 WebService 定义 个人理解 实践 webservice 常识 一个webservice 接口发布地址往往类似: qq在线接口验证接口为例 maven 使用 axis 应用依赖(不可缺失必须) 代码(粘贴可用) 序 实际工作场景中会存在对接去很多系统的数据的任务,数据对接呢 方式很多吧,接触过 : http| https请求 数据库视图 数据库存储过程 soap+xml工单... 然后这两天接到一个关于webservice 数据接口的方式对接,说实话对于这个一脸懵逼,完全不知道

  • SpringBoot项目实现短信发送接口开发的实践

    一. 短信接口实现 描述:请求第三方短信接口平台(而第三方短信平台的接口请求是webservice方式实现的),此时我们要测试接口是否通,要用的工具SoapUI测试工具, 不能用PostMan,即使用post组装完参数请求该短信平台接口也不会通的(请求之前要ping通IP,只有在同一网段才可请求.或者使用VPN远程连接也可请求),接口通了之后.开始裸代码.代码使用IDEA工具去完成 , 实现逻辑根据需求而定. 首先导入两个依赖 <!--生成短信代码webservice START--> <

  • Java调用WebService接口的方法

    本文实例讲述了Java调用WebService接口的方法.分享给大家供大家参考.具体如下: 这里讲述有参方法Add,代码如下: 复制代码 代码如下: public static void addTest() {         try ...{             Integer i = 1;             Integer j = 2;                         //WebService URL             String service_url =

  • C#调用webservice接口的最新方法教程

    前言 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(Simple Object Access Protocol)简单

  • c# 三种方法调用WebService接口

    1.引用*.wsdl文件 WebService服务端会提供wsdl文件,客户端通过该文件生成.cs文件以及生成.dll. 注意:若服务端只提供的了URL,在URL后面加上"?wsdl"在浏览器上访问,复制页面内容,粘贴到文本文件,将文件后缀改为为"wsdl",即可得到wsdl文件. 通过URL或wsdl文件都可生成.cs文件. 生成.cs文件的方法有两种,如下: 方法一:通过VS命令行工具生成 如上图所示,输入命令"wsdl /language:c# /n

  • python使用suds调用webservice接口的方法

    最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip install suds linux: easy_install suds 也可以通过去官网下载suds代码,再本地安装 2. 引用初始化 >>> from suds.client import Client >>> url = 'http://www.gpsso.com/we

  • Java 使用Axis调用WebService的示例代码

    import org.apache.axis.client.Call; import org.apache.axis.client.Service; /** * @ClassName: TestAxis * @Description: TODO(描述这个类的作用) * @author huc * */ public class TestAxis { public static void main(String []args){ String inConditions = "<?xml ve

  • Java调用WebService接口作测试

    1.选择一个WebService接口作测试 假设 WebService url 为 http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx(查询手机归属地) 通过网页看到接口有两个,也可看到参数以及返回值 该接口来源于 http://www.webxml.com.cn/zh_cn/web_services.aspx (WebService接口大全) 选择该手机号查询归属地,是由于简单,其他接口都复杂一点,老是出现解析组件 's:schema'

  • php中创建和调用webservice接口示例

    作为开发者来讲,要想写webservice接口或者调用别人的webservice接口,首先需要了解什么是webservice.简单说, WebService就是一些站点开放一些服务出来, 也可以是你自己开发的Service, 也就是一些方法, 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),接到你的请求,根据传过来的参数,做一些处理,然后把处理后的结果以XML形式返回来给你,你的程序就解析这些XML数据,然后显示出来或做其它操作. 写webservice需要了解:基础的 Web

  • android调用webservice接口获取信息

    我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包并导入 2.在xml 配置文件中加入: <!-- 访问网络的权限 --> <uses-permission android:name="android.permission.INTERNET" /> 3.接下来就要通过代码调用借口了 String WSDL_URI

随机推荐