Python 官方文档:入门教程 => 点击学习
目录序WEBService定义个人理解实践webservice 常识一个webservice 接口发布地址往往类似:qq在线接口验证接口为例Maven 使用 axis应用依赖(不可缺
实际工作场景中会存在对接去很多系统的数据的任务,数据对接呢 方式很多吧,接触过 :
然后这两天接到一个关于webservice 数据接口的方式对接,说实话对于这个一脸懵逼,完全不知道是啥(听一个比较年长的大哥说一些比较老的系统中喜欢使用这个进行数据对接)。所以只能学习一下然后进行搞了
通过度娘等方式,个人理解为变相的soap协议加xml工单处理,
www.webxml.com.cn/webservices…
email电子邮箱地址接口: www.webxml.com.cn/WebServices…
全国天气情况接口:
www.webxml.com.cn/WebServices…
在接口后面加:/wsdl www.webxml.com.cn/webservices…
访问查看然后找到下图中定义的内容:注意使用关联key找到对应的必要使用的参数。
<!-- 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接口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: SpringBoot项目使用 axis 调用webservice接口的实践记录
本文链接: https://www.lsjlt.com/news/151744.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0