SOAP(简单对象访问协议) webservice是基于XML协议的,与平台和开发语言没有太大的关系。这使得跨语言调用webservice成为可能。Java编写soap webservice接口的过程请移步这里。本篇简单介绍使用nodejs语言调用的过程。
Java的SOAP webservice发布之后,会生成一个包含路径的WSDL地址。(上一篇 中生成的地址是:http://localhost:8081/helloworld?wsdl)。拿到这个地址,就可使用node的soap模块生成客户端,实现跨语言调用Java的webservice接口。
1.安装soap接口
npm install soap --save
2.编写
/**
* Created by admin on 2018/1/25.
*
* 测试调用Java写的webservice模块
*/
var soap = require('soap');
var url = 'http://localhost:8081/helloworld?wsdl';
//使用soap,根据wsdl地址创建客户端
soap.createClient(url,function(err,client){
if(err){
console.log(err);
}
//返回一个客户端,并且传参调用Java的接口,接收返回的数据
client.sayHi({arg0:'mike'},function(error,result){
//打印接收到的数据
console.log(result);
});
});
3.运行代码,打印如下信息:
{ return: 'Hello,Welcome mike' }
调用成功。
注意:Java的接口使用的是CXF第三方库发布,使用Java自带的jaxws发布,测试代码中返回的值为null:
{ return: 'Hello,Welcome null' }