当前位置:Gxlcms > JavaScript > Nodejs调用WebService的示例代码

Nodejs调用WebService的示例代码

时间:2021-07-01 10:21:17 帮助过:5人阅读

这两天一直在试着编写纯静态页面的js去调用由Java编写的WebService,一直无法成功(主要工期比较赶,待后面比较闲的时候再来研究,看能不能写一个纯静态页面的js去调用WebService的),最后 没有办法只有改成Node JS去调用WebService。本想在网上找一些资料,发现没有让人满意的,最后还是只能去参考官网的文档,结合自己的需求做了一个Client端的程序,希望对大家有所帮助。

这里写图片描述 

首先来做前期准备工作,假设你已经安装了nodejs,因为我没有通过工程来设置,直接通过命令来实现,所以下面先来安装需要用的nodejs的包(如果通过工程的方式,可以配置package.json来实现)

命令如下

  1. npm install soap
  2. npm install sinon
  3. npm install request
  4. npm install debug
  5. npm install lodash
  6. npm install soap
  7. npm install concat-stream
  8. npm install optional
  9. npm install ejs
  10. npm install xml-crypto
  11. npm install node-uuid
  12. npm install sax
  13. npm install strip-bom
  14. npm install selectn
  15. npm install mocha –save-dev

安装完这一部分的东西后就可以开始写代码了。文件名myServer.js。

代码如下

  1. var wsdlOptions ={
  2. "overrdeRootElement":{
  3. "namespace":"xmlns:tns",
  4. "xmlnsAttributes":[{
  5. "name":"xmlns:ns",
  6. "value":"http://www.yourCompany.com"
  7. }]
  8. }
  9. };
  10. var url='//www.gxlcms.com/WebService/WebService?wsdl';
  11. var soap=require('soap');
  12. var args={'Param1':'value1','Param2':'value2'};
  13. soap.createClient(url,wsdlOptions,function(err,client){
  14. if(err!==null){
  15. console.log(err);
  16. }
  17. // client.setSOAPAction(url);
  18. client.MyService(args,function(err,result){
  19. if(err!==null){
  20. console.log(err);
  21. }
  22. console.log
  23. (result);
  24. });
  25. });

通过命令

  1. node myServer.js

进行测试,得到的结果会根据服务端返回的数据,我这里得到的是一个JSON数据.(会根据服务端返回的数据,我这里得到的是一个JSON数据。

注意://www.gxlcms.com替换成自己的服务的命名空间,var url='//www.gxlcms.com/WebService/WebService?wsdl';替换成自己的服务地址,args参数最好不要用new Array()来创建,采用JSON数据,参数数量更具实际需要进行设置。最后,如果要在浏览器上运行,还要解决安全性问题才能正常使用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

人气教程排行