在Sencha上使用SOAP WebService?

时间:2014-11-11 19:49:46

标签: web-services extjs soap sencha-touch

我一直在对sencha上的HelloWorld进行一些测试,但无论如何我不能让它与responseXML一起工作。我的代码是这样的......

Ext.Ajax.request({
       url: 'http://url/MobileService/MobileWS.asmx',
       callbackKey: 'callback',
       scope: 'this',
       method: 'POST',
       headers: {'Content-Type': 'application/soap+xml; charset=utf-8; action="http://tempuri.org/HelloWorld"'},
       success: function(response) {
          // OK
           alert("ok");
           alert(response.responseXML);

       },
        failure: function(response) {
          // KO
            alert("errpr");
            alert(response.resposeText);
       },
       xmlData: '<?xml version="1.0" encoding="utf-8"?>\n<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns="http://tempuri.org/HelloWorld"><soap:Header/><soap:Body><HelloWorldResult>string</HelloWorldResult></soap:Body></soap:Envelope>'
     });

这段代码在responseText中返回我需要的所有xml信息,但是没有显示在responseXML上。此外,我不知道如何查找XML密钥并获得价值。

当我想要使用更大的服务时,真正的问题就出现了,我需要包含一些输入参数。问题,它根本不起作用。也许果酱做错了。我只是在标题密钥之前将其添加到其他代码中。

params:{filter:'SomeName'}

我一直在阅读一些sencha文档,我发现应该有一些方法来创建模型和源来使用SOAP WebService,但我无法做到这一点。任何帮助?

1 个答案:

答案 0 :(得分:0)

在某个地方找到了这个。这不是我的:

为了使浏览器解析返回的XML文档,HTTP响应中的Content-Type标头必须设置为“text / xml”或“application / xml”。这非常重要 - 否则XmlReader将无法正常工作。

除此之外,您可能还想要使用JSON。 试试这个链接:

http://davidwalsh.name/convert-xml-json