【问题标题】:Nodejs Soap Client - ETIMEDOUT to JAX-WS Soap webserviceNodejs Soap 客户端 - ETIMEDOUT 到 JAX-WS Soap Web 服务
【发布时间】:2018-03-28 00:44:09
【问题描述】:

我正在尝试在我的本地 NodeJs 应用程序中创建一个 Soap 客户端,以调用暴露了 JAX-WS Web 服务 (SOAP) 的旧系统 (Java)。此 Web 服务部署在 Tomcat EC2 实例上。 ELB 仅接受端口 443 上的流量,并将调用定向到侦听端口:80 上的 EC2 实例。

如果我在旧 Web 应用程序上公开 RestAPI 端点并使用“请求”模块,nodejs 代码就能够调用 Rest-Endpoint。

如果它是一个肥皂网络服务,那么我会收到以下错误。如果你们能指引我正确的方向,那就太好了。

我总是收到以下错误:

Error: connect ETIMEDOUT xx.xx.xxx.xxx:80
    at Object.exports._errnoException (util.js:1018:11)
    at exports._exceptionWithHostPort (util.js:1041:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
  code: 'ETIMEDOUT',
  errno: 'ETIMEDOUT',
  syscall: 'connect',
  address: 'xx.xx.xxx.xxx',
  port: 80 }

下面是我的肥皂客户端代码:使用节点模块:https://github.com/vpulim/node-soap

var soap = require('soap');
var path = require("path");
            var options = {
                ignoredNamespaces: {
                    namespaces: ['targetNSAlias']
                },
                timeout: 120000,
                port:443
            };

           soap.createClient("https://hostname/service?WSDL", options,function(err, client) {

    }

提前致谢。

【问题讨论】:

    标签: node.js web-services soap jax-ws node-soap


    【解决方案1】:

    地址可能不正确,我建议您验证连接信息或尝试使用 SoapUI 验证一切是否正常。

    【讨论】:

    • 您可以使用 nmap 检查打开的端口或使用 telnet xxx.xxx.xxx.xxx port_number 来检查服务器是否正在接受端口号上的连接
    猜你喜欢
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2011-10-11
    • 2012-12-22
    • 2015-04-06
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    相关资源
    最近更新 更多