0

私は ExtJS を使用しており、SOAPClient を使用してサービス呼び出しを行いました。

var url2 = "https://serviceUrlGoesHere/MyService";

var pl = new SOAPClientParameters();    
pl.add("arg0", false);

SOAPClient.invoke(url2, "getPaymentsMethod", pl, true, getDataCallback);

私の応答方法:

function getDataCallback(response) {
    ???
};

サービスの応答は次のとおりです。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <dlwmin:getPaymentsMethod xmlns:dlwmin="http://blahblah.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <return>
            <contents>
               <eftAcctNo>501014635986</eftAcctNo>
               <eftAcctRoutNo>122400724</eftAcctRoutNo>
            </contents>
            <contents>
               <eftAcctNo></eftAcctNo>
               <eftAcctRoutNo></eftAcctRoutNo>
            </contents>
            <contents>
               <eftAcctNo></eftAcctNo>
               <eftAcctRoutNo></eftAcctRoutNo>
            </contents>
            <status>0</status>
         </return>
      </dlwmin:getPaymentsMethod>
   </soapenv:Body>
</soapenv:Envelope>

私の質問は...どうすればこのデータをモデルに追加し、dataGridにデータを入力できますか?

4

2 に答える 2

0

これは、ストアをロードする方法の例です。このサイトの例の 1 つから作業できるため、データ グリッドへの入力は非常に簡単です。

Ext.define("YourModel", {
    extend: "Ext.data.Model",
    fields: [
        {name:"eftAcctNo",     type:"int"},
        {name:"eftAcctRoutNo", type:"int"}
    ]
});

var store = Ext.create('Ext.data.Store', {
    autoLoad: false,
    model: 'YourModel',
    proxy: {
        type: 'memory',
        reader: {
            type: 'xml',
            root: 'return'
        }
    }
});

function getDataCallback(response) {
    store.loadData(response.reponseText);// or just response if that is already text in your case
};
于 2013-07-12T21:16:20.900 に答える