Ext.define("Ext.data.soap.Reader",{extend:"Ext.data.reader.Xml",alias:"reader.soap",getData:function(b){var c=b.documentElement,a=c.prefix;return Ext.DomQuery.selectNode(a+"|Body",b)}});Ext.define("Ext.data.soap.Proxy",{extend:"Ext.data.proxy.Ajax",alias:"proxy.soap",requires:["Ext.data.soap.Reader"],config:{soapAction:{},operationParam:"op",reader:"soap",url:"",envelopeTpl:['','',"{[values.bodyTpl.apply(values)]}",""],createBodyTpl:null,readBodyTpl:["",'<{operation} xmlns="{targetNamespace}">','',"<{$}>{.}","","",""],updateBodyTpl:null,destroyBodyTpl:null,writeBodyTpl:["",'<{operation} xmlns="{targetNamespace}">','','{% var recordName=values.modelName.split(".").pop(); %}',"<{[recordName]}>",'',"<{name}>{[parent.get(values.name)]}","","","","",""],targetNamespace:""},applyEnvelopeTpl:function(a){return this.createTpl(a)},applyCreateBodyTpl:function(a){return this.createTpl(a)},applyReadBodyTpl:function(a){return this.createTpl(a)},applyUpdateBodyTpl:function(a){return this.createTpl(a)},applyDestroyBodyTpl:function(a){return this.createTpl(a)},applyWriteBodyTpl:function(a){return this.createTpl(a)},createTpl:function(a){if(a&&!a.isTpl){a=new Ext.XTemplate(a)}return a},doRequest:function(a){var d=this,e=a.getAction(),g=d.getApi()[e],f=Ext.applyIf(a.getParams()||{},d.getExtraParams()||{}),b=d.getEnvelopeTpl().apply({operation:g,targetNamespace:d.getTargetNamespace(),params:f,records:a.getRecords(),bodyTpl:d.getBodyTpl(e)}),c=new Ext.data.Request({url:d.getUrl()+"?"+d.getOperationParam()+"="+g,method:"POST",action:e,operation:a,xmlData:b,headers:Ext.apply({SOAPAction:d.getSoapAction()[e]},d.getHeaders()),timeout:d.getTimeout(),scope:d,disableCaching:false});c.setCallback(d.createRequestCallback(c,a));return d.sendRequest(c)},getBodyTpl:function(b){b=Ext.String.capitalize(b);var a=this["get"+b+"BodyTpl"]();return a||this.getWriteBodyTpl()}});