我正在使用strong-soap(node-soap的分支)和在IBM Bluemix上部署的node.js應用程序。肥皂客戶端通過加載本地wsdl文件創建soap.createClient
,並且它在我們的開發人員本地計算機上正常工作。但是,當項目部署到Bluemix時,客戶端將創建而不提供任何服務。 soap.createClient
創建客戶端期間沒有錯誤發生,但client.describe()
爲空{}
並且不能調用服務或方法。在IBM Bluemix上運行時,強 - 肥(node-soap)客戶端沒有服務
我已檢查wsdl是否被找到並正確加載,並且fs.existsSync
表示該文件存在。
我已經嘗試過在Bluemix上調試應用程序,並逐步完成代碼,沒有發生錯誤,但客戶端沒有任何操作。我很難過,有人可以幫忙嗎?
日誌文件只有一個錯誤:SOAP service was not correctly initialized in the client.
從下面的代碼返回。 Stenaline
是wsdl的服務名稱,所以我的本地機器client.Stenaline
已正確設置,並且可以在其上調用操作。
的連接功能全面
var soapClient = null;
var connect = function (create_callback) {
var options = {
endpoint: config.endpoint
};
var wsdl = './src/config/contract/www.stenaline.com.sloop.ws.2014.10.wsdl';
if (!fs.existsSync(wsdl)) {
let err = new Error('Failed to locate SOAP wsdl file.');
err.path = wsdl;
return process.nextTick(function() {
create_callback(err);
});
}
soap.createClient(wsdl, options, function (err, client) {
if (err) return create_callback(err);
client.setSecurity(wsSecurity);
soapClient = client;
debug('client', client.describe());
if (!client.Stenaline) {
let err = new Error('SOAP service was not correctly initialized in the client.');
return process.nextTick(function() {
create_callback(err);
});
}
create_callback(null, client);
});
};
交換能否請你添加一個示例代碼,以便有人能儘量幫你解決?此外,請添加'cf日誌appname --recent'的輸出,以便有人可以檢查錯誤。 –
@AlexdaSilva我已經添加了代碼。真的沒有什麼特別的。日誌中沒有錯誤。 – Ali
@AlexdaSilva這是強力肥皂的問題。我現在切換到使用node-soap(https://github.com/vpulim/node-soap),它工作正常。 – Ali