NodeJS调用Java WS接口

简介:

利用NodeJS调用Java发布的WS接口:http://192.168.0.190:8888/WSLogin?wsdl

安装环境及版本:

系统环境:CentOS Linux release 7.5.1804 (Core)
JDK版本:apache-tomcat-9.0.36.tar.gz
Tomcat版本:apache-tomcat-9.0.36.tar.gz
NodeJS版本:node-v14.4.0-linux-x64.tar.xz

Eclipse IDE版本:Eclipse IDE for Enterprise Java Developers 
Version: 2020-06 (4.16.0)
Build id: 20200615-1200

一、前提条件

参考《JAVA发布WebService接口》构建WS接口:http://192.168.0.190:8888/WSLogin?wsd

参考《NodeJS安装(Centos)》安装NodeJS

二、修改默认发布目录

将默认发布目录由/usr/local/tomcat/apache-tomcat-9.0.36/webapps/修改为:/usr/local/tomcat/apache-tomcat-9.0.36/webapps/html

修改:vi /usr/local/tomcat/apache-tomcat-9.0.36/conf/server.xml,添加

     <Host name="192.168.0.190" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false"  xmlNamespaceAware="false">    
         <Context path="" docBase="html" debug="0" reloadable="true" crossContext="true"/>
 
         <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="tot_log." suffix=".txt" timestamp="true"/>       
 
     </Host>

三、新建NodeJS文件

在/usr/local/tomcat/apache-tomcat-9.0.36/webapps目录下新建html目录:

命令:mkdir /usr/local/tomcat/apache-tomcat-9.0.36/webapps/html

[root@localhost ~]# ll /usr/local/tomcat/apache-tomcat-9.0.36/webapps/
total 368
drwxr-x--- 16 root root   4096 Jun 28 19:46 docs
drwxr-x---  6 root root     83 Jun 28 19:46 examples
drwxr-x---  5 root root     87 Jun 28 19:46 host-manager
drwxr-xr-x  3 root root     66 Jun 28 22:09 html
drwxr-x---  5 root root    103 Jun 28 19:46 manager
drwxr-x---  3 root root    283 Jun 28 19:46 ROOT
drwxr-x---  4 root root     37 Jun 28 21:10 WSLogin
-rw-r--r--  1 root root 370342 Jun 28 21:10 WSLogin.war

进入html目录,初始化NodeJS环境以及安装需要的包:cd html

npm init
npm install soap
npm install sinon 
npm install request 
npm install debug 
pm install lodash 
npm install concat-stream 
npm install optional 
npm install ejs 
npm install xml-crypto 
npm install node-uuid 
npm install sax 
npm install strip-bom 
npm install selectn 
npm install mocha ?save-dev

在修改后的发布目录/usr/local/tomcat/apache-tomcat-9.0.36/webapps/html下新建NodeJS文件:vi main.js

var soap = require('soap');
var url = 'http://192.168.0.190:8888/WSLogin?wsdl';
//使用soap,根据wsdl地址创建客户端
soap.createClient(url,function(err,client) {
    console.log("one " + err);
    
   if(err){
       console.log(err);
   }                  
    console.log("two " + err);
    
    //var args = new String("3115");  
   //返回一个客户端,并且传参调用Java的接口,接收返回的数据
   client.sayHello({arg0:'mike '}, function(error, result) {
      //打印接收到的数据        
      console.log(error);
      console.log(result);
   });
});

四、运行调用

在html目录下,执行命令:node.main.js

发表回复