使用Fixie / Heroku(将IP列入白名单)发送Soap通话

时间:2019-05-30 16:35:07

标签: node.js heroku soap strong-soap

当前使用strong-soap包发送将Soap调用发送到服务。很简单。该服务仅会接受来自列入白名单的IP的请求,因此当应用程序部署到Heroku时,它将失败。 Heroku有一个插件Fixie,它允许使用代理IP。

https://devcenter.heroku.com/articles/fixie#local-setup

问题在于将强肥皂通话与Fixie连接起来。在查看soap文档时,它会出现在创建soapClient时,我可以添加一个自定义的请求(带有node request包)。我一直在努力做到这一点,但是似乎没有时间。

有人尝试过吗?抛弃强肥皂,然后在没有帮助包裹的情况下进行肥皂呼叫会更好吗?

const request = require('request')
const fixie_url = process.env.FIXIE_URL
const fixieRequest = request.defaults({'proxy': fixie_url})

var options = {request : fixieRequest}

return new Promise ((resolve, reject) => { 
    const url = 'http://SERVICE_URL/Service.asmx?WSDL'
    soap.createClient(url, options, (err, client) => {
      client.SOAPMETHOD(args, (err, result, body) => {
        const valid = result['RESPONSE']
        return resolve(valid)
      })
    })
  })

我现在得到的结果基本上是说client.SOAPMETHOD无法读取,因为它的未定义...我猜这是由于createClient中的某些故障或超时引起的。

0 个答案:

没有答案