2016-10-15 25 views
0

我正在使用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); 
    }); 
}; 
+0

交換能否請你添加一個示例代碼,以便有人能儘量幫你解決?此外,請添加'cf日誌appname --recent'的輸出,以便有人可以檢查錯誤。 –

+0

@AlexdaSilva我已經添加了代碼。真的沒有什麼特別的。日誌中沒有錯誤。 – Ali

+0

@AlexdaSilva這是強力肥皂的問題。我現在切換到使用node-soap(https://github.com/vpulim/node-soap),它工作正常。 – Ali

回答

相關問題