2012-03-05 70 views
3

我對sencha touch很陌生,我想在sencha touch中使用soap web服務。我已經爲這個原因編寫了代碼,但問題是我僅僅獲取純HTML內容作爲響應而不是soap對象。而我不知道如何從Web服務調用特定的方法來觸發sencha。如何在SENCHA TOUCH中使用SOAP Web服務?

這裏是我的代碼: -

Ext.Ajax.request({ 

    method: 'get', 
    url: 'http://192.168.1.15:80/himanshu/helloworldwebservice.asmx', 
    success: function (response, request) { 
    alert('Working!') 
    alert(response.responseText) 
    console.log('Response:-'+response.responseText) 
    }, 
    failure: function (response, request) { 
    alert('Not working!') 
    console.log('Response Status:- '+response.status) 
    } 

}); 

編輯: -好吧,我計上心來調用Web服務的具體方法從here。就像我有HelloWorld()方法,該方法只返回一個字符串和我網址是http://192.168.1.15:80/himanshu/helloworldwebservice.asmx。 我可以通過設置我的網址是這樣叫的HelloWorld()方法: - http://192.168.1.15:80/himanshu/helloworldwebservice.asmx/HelloWorld

但它不工作的時間me.Every我運行該程序「不工作」的警報生成和是響應統計我得到請讓我明白,我怎麼能提前從webservice.Thanx調用方法。

+0

看到這個[鏈接](http://stackoverflow.com/questions/11556508/web-服務呼叫,即從工作 - 但它不工作在鉻和mozilla)在有些日子之前我發現了同樣的問題,然後得到解決方案。 – 2012-07-21 05:58:06

回答

0

你的代碼是絕對好的。我想你是從服務器端發送HTML數據。在Chrome/Safari開發者工具中檢查響應。此外,使用console.log()函數而不是alert()函數可以獲得更好的視圖。

此外,在瀏覽器中打開此URL:「http://192.168.1.15:80/himanshu/helloworldwebservice.asmx」,並在頁面的「查看源代碼」中 - 您將看到您正在發送的內容。

+0

我知道我得到的網址的HTML內容:「http://192.168.1.15:80/himanshu/helloworldwebservice.asmx」。我的問題是,我不知道我怎麼能調用目前的方法以上webservice? – himanshu 2012-03-05 09:30:07

+0

我也檢查了鉻和safari中的響應,但只獲取msg「Not Working」的對話框。 – himanshu 2012-03-05 10:16:32

+0

創建一個新文件,編寫一個開關盒並調用不同的函數。發送一個額外的參數,您將在其中執行切換案例。 – Swar 2012-03-05 15:22:22

3

您將無法以這種方式使用SOAP Web服務,因爲在asmx url上執行GET請求只會返回列出Web服務方法的頁面的HTML內容。

消費SOAP Web服務依賴於POST請求,並且需要您發送正確的XML SOAP請求。我建議您使用類似http://archive.plugins.jquery.com/project/jqSOAPClient的東西來執行您的SOAP調用並檢索您的數據,然後將它們傳回給您的Ext代碼。

希望這有助於

Nacef

+0

我不想在我的應用程序中使用jQuery,所以你能告訴我如何通過AJAX調用實現這一點。 – himanshu 2012-03-05 12:05:37

+0

對不起,這是一段時間,我沒有看郵箱。你設法使它工作? – Nacef 2012-04-04 16:25:41

+0

是的,我已經設法打電話給webservice.Thanx尋求幫助。 – himanshu 2012-04-05 03:53:13