Javascript 在客户端调用的Meteor方法内调用Magento SOAP

Javascript 在客户端调用的Meteor方法内调用Magento SOAP,javascript,magento,meteor,soap,Javascript,Magento,Meteor,Soap,我正在使用Meteor中的zardak:soap包连接MagentoSOAPv2API。我在“服务器”文件夹中创建了一个文件,在Meteor.startup上创建了一个soap连接。然后我运行一个ticker,每30秒调用一次随机soap方法,以保持连接 let soapConnection; Meteor.startup(() => { soapConnection = createAPIConnection('http://magento.site.com/api/v2_so

我正在使用Meteor中的zardak:soap包连接MagentoSOAPv2API。我在“服务器”文件夹中创建了一个文件,在Meteor.startup上创建了一个soap连接。然后我运行一个ticker,每30秒调用一次随机soap方法,以保持连接

let soapConnection;

Meteor.startup(() => {
    soapConnection = createAPIConnection('http://magento.site.com/api/v2_soap/?wsdl=1', {username: 'user', apiKey: 'password'});
});

function createAPIConnection(url, credentials) {
    try {
        let client = Soap.createClient(url);

        let loginResult = client.login(credentials);
        let sessionId = loginResult.loginReturn.$value;

        return {
            conn: client,
            sessionId: sessionId
        };

    } catch (e) {
        if (e.error === 'soap-creation') {
            console.log('SOAP Client creation failed');
        }

        return null;
    }
}

function tick() {
    try {
        soapConnection.conn.catalogCategoryInfo({
            sessionId: soapConnection.sessionId,
            categoryId: 1
        }, (err, result) => { });

    } catch (e) { }
}
然后我有一个Meteor方法,它是从客户端调用的。当它被调用时,soap方法调用失败,我在控制台中收到一条“soap错误”消息

Meteor.methods({
'createMagentoCustomer'(customer) {
        try {
            soapConnection.conn.customerCustomerCreate({
                sessionId: soapConnection.sessionId,
                customerData: customer
            }, (err, res) => {
                if (err)
                    console.log('soap error');
                else
                    console.log(res);
            });

        } catch (e) {
            console.log('SOAP Method <customerCustomerCreate> call failed');
        }
    },
});
Meteor.methods({
“createMagentoCustomer”(客户){
试一试{
soapConnection.conn.customerCustomerCreate({
sessionId:soapConnection.sessionId,
客户数据:客户
},(误差、分辨率)=>{
如果(错误)
log('soap错误');
其他的
控制台日志(res);
});
}捕获(e){
log('SOAP方法调用失败');
}
},
});
因此,代码运行良好,没有问题,但当我尝试通过Meteor方法调用soap时,它失败了。请注意,soapConnection方法不是null,我在soap方法回调中确实收到了错误

有什么建议吗

Meteor版本1.3.4.1