如何在SENCHA TOUCH中使用SOAP web服务?

3
我是个新手,想要在sencha touch中使用soap web服务。我已经写好了代码,但是问题是我只得到了普通的HTML响应而不是soap对象。我不知道如何从web服务中调用特定的方法到sencha touch。

这是我的代码:-

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服务调用特定方法的想法。比如我有一个HelloWorld()方法,它只返回一个字符串,我的网址是http://192.168.1.15:80/himanshu/helloworldwebservice.asmx。 我可以通过将我的网址设置为以下内容来调用HelloWorld()方法: http://192.168.1.15:80/himanshu/helloworldwebservice.asmx/HelloWorld

但对我来说它不起作用。每次运行程序都会生成“未工作”警报,并且我得到的响应统计数字是500。请帮我理解如何从Web服务调用方法。先感谢你。


几天前我在这个链接中发现了同样的问题,然后找到了解决方案。 - Rikin Thakkar
3个回答

3
您不能以这种方式使用SOAP webservice,因为在asmx url上执行GET请求只会返回列出webservice方法的页面的HTML内容。
消耗SOAP webservice依赖于POST请求,并且需要您发送正确的XML SOAP请求。我建议您使用类似http://archive.plugins.jquery.com/project/jqSOAPClient的东西来执行SOAP调用并检索数据,然后将它们传回您的Ext代码。
希望这有所帮助。
Nacef

我不想在我的应用程序中使用jQuery,你能告诉我如何通过AJAX调用来实现这个吗? - himanshu
抱歉我有一段时间没有查看邮箱了。你已经成功让它工作了吗? - Nacef
3
可以请您分享解决方案吗?我很想知道您是如何处理的。 - Nacef
@himanshu:你能分享一下你的解决方案吗?因为我已经寻找了很长时间了,想找到一个方法来做这件事。 - SashaZd
1
这是我在问题中发布的工作代码...我现在解决了与Web服务相关的问题。 - himanshu


0

你的代码完全没问题。我认为你是从服务器端发送HTML数据。请在Chrome/Safari开发者工具中检查响应。此外,使用console.log()函数而不是alert()函数可以获得更好的视图。

另外,在浏览器中打开此网址:"http://192.168.1.15:80/himanshu/helloworldwebservice.asmx"并查看页面的“源代码”-您将看到您正在发送的内容。


我知道我正在获取URL的HTML内容:http://192.168.1.15:80/himanshu/helloworldwebservice.asmx。我的问题是,我不知道如何调用上述Web服务中存在的方法? - himanshu
我也在Chrome和Safari中检查了响应,但只收到带有消息“未工作”的对话框。 - himanshu
创建一个新文件,编写一个switch-case并调用不同的函数。发送一个额外的参数,根据它执行switch case。 - Swar
但是我该如何使用外部URL调用Web服务的不同方法呢?我的URL是:"192.168.1.15:80/himanshu/helloworldwebservice.asmx",它托管在另一台计算机上。 - himanshu
看吧,不要考虑Sencha,直接从浏览器访问URL。你自己需要确保如何调用方法。因此,如果在浏览器中获取到任何原始数据,则该数据也将在您的应用程序中使用。 - Swar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接