//>>built define("dojox/rpc/Service",["dojo","dojox","dojo/AdapterRegistry","dojo/_base/url"],function(_1,_2){ _1.declare("dojox.rpc.Service",null,{constructor:function(_3,_4){ var _5; var _6=this; function _7(_8){ _8._baseUrl=new _1._Url((_1.isBrowser?location.href:_1.config.baseUrl),_5||".")+""; _6._smd=_8; for(var _9 in _6._smd.services){ var _a=_9.split("."); var _b=_6; for(var i=0;i<_a.length-1;i++){ _b=_b[_a[i]]||(_b[_a[i]]={}); } _b[_a[_a.length-1]]=_6._generateService(_9,_6._smd.services[_9]); } }; if(_3){ if((_1.isString(_3))||(_3 instanceof _1._Url)){ if(_3 instanceof _1._Url){ _5=_3+""; }else{ _5=_3; } var _c=_1._getText(_5); if(!_c){ throw new Error("Unable to load SMD from "+_3); }else{ _7(_1.fromJson(_c)); } }else{ _7(_3); } } this._options=(_4?_4:{}); this._requestId=0; },_generateService:function(_d,_e){ if(this[_e]){ throw new Error("WARNING: "+_d+" already exists for service. Unable to generate function"); } _e.name=_d; var _f=_1.hitch(this,"_executeMethod",_e); var _10=_2.rpc.transportRegistry.match(_e.transport||this._smd.transport); if(_10.getExecutor){ _f=_10.getExecutor(_f,_e,this); } var _11=_e.returns||(_e._schema={}); var _12="/"+_d+"/"; _11._service=_f; _f.servicePath=_12; _f._schema=_11; _f.id=_2.rpc.Service._nextId++; return _f; },_getRequest:function(_13,_14){ var smd=this._smd; var _15=_2.rpc.envelopeRegistry.match(_13.envelope||smd.envelope||"NONE"); var _16=(_13.parameters||[]).concat(smd.parameters||[]); if(_15.namedParams){ if((_14.length==1)&&_1.isObject(_14[0])){ _14=_14[0]; }else{ var _17={}; for(var i=0;i<_13.parameters.length;i++){ if(typeof _14[i]!="undefined"||!_13.parameters[i].optional){ _17[_13.parameters[i].name]=_14[i]; } } _14=_17; } if(_13.strictParameters||smd.strictParameters){ for(i in _14){ var _18=false; for(var j=0;j<_16.length;j++){ if(_16[i].name==i){ _18=true; } } if(!_18){ delete _14[i]; } } } for(i=0;i<_16.length;i++){ var _19=_16[i]; if(!_19.optional&&_19.name&&!_14[_19.name]){ if(_19["default"]){ _14[_19.name]=_19["default"]; }else{ if(!(_19.name in _14)){ throw new Error("Required parameter "+_19.name+" was omitted"); } } } } }else{ if(_16&&_16[0]&&_16[0].name&&(_14.length==1)&&_1.isObject(_14[0])){ if(_15.namedParams===false){ _14=_2.rpc.toOrdered(_16,_14); }else{ _14=_14[0]; } } } if(_1.isObject(this._options)){ _14=_1.mixin(_14,this._options); } var _1a=_13._schema||_13.returns; var _1b=_15.serialize.apply(this,[smd,_13,_14]); _1b._envDef=_15; var _1c=(_13.contentType||smd.contentType||_1b.contentType); return _1.mixin(_1b,{sync:_2.rpc._sync,contentType:_1c,headers:_13.headers||smd.headers||_1b.headers||{},target:_1b.target||_2.rpc.getTarget(smd,_13),transport:_13.transport||smd.transport||_1b.transport,envelope:_13.envelope||smd.envelope||_1b.envelope,timeout:_13.timeout||smd.timeout,callbackParamName:_13.callbackParamName||smd.callbackParamName,rpcObjectParamName:_13.rpcObjectParamName||smd.rpcObjectParamName,schema:_1a,handleAs:_1b.handleAs||"auto",preventCache:_13.preventCache||smd.preventCache,frameDoc:this._options.frameDoc||undefined}); },_executeMethod:function(_1d){ var _1e=[]; var i; for(i=1;i