如何在AWS lamdba函数中使用IIS上托管的WCF服务?

时间:2018-02-16 05:21:33

标签: amazon-web-services wcf iis aws-lambda elastic-beanstalk

我有这种情况,我的AWS lambda函数必须使用IIS上托管的服务。当我尝试将其添加为服务引用时,我得到“尝试在解决方案中发现服务时发生错误:解决方案中找不到服务..”错误。我发现服务没有任何问题,而且工作正常。

我是否缺少任何链接以使我的服务被AWS使用?

1 个答案:

答案 0 :(得分:0)

如果您使用node.js作为Lambda,请按照以下步骤进行操作



var soap = require('soap');

var url = 'YouServiceURL.svc?wsdl';

var soapOptions = {
    forceSoap12Headers: true
};

var soapHeader = {
    'wsa:Action': 'http://tempuri.org/MyBinding/MyOperation', 
    'wsa:To': 'YouServiceURL.svc'
};

exports.handler = function(event, context, callback) {
    var params = {
        param1: event.param1,
        param2: event.param2
    };

    soap.createClient(url, soapOptions, function(err, client) {
        if (err) callback(err);
        client.addSoapHeader(soapHeader, '', 'wsa', 'http://www.w3.org/2005/08/addressing');
        client.MyOperation(params, function(err, data) {
            if (err) callback(err);
            callback(null, data);
        });
    });
}




请查找示例代码here