ó • _Kc@s¨dZddlmZddlTddlmZddlmZddl m Z m Z ddl m Z eeƒZdZd e fd „ƒYZd efd „ƒYZd S(sP Provides classes for the (WS) SOAP I{rpc/literal} and I{rpc/encoded} bindings. iÿÿÿÿ(t getLogger(t*(tEncoded(tBindingtenvns(tElementsSOAP-ENCs)http://schemas.xmlsoap.org/soap/encoding/tRPCcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s$ RPC/Literal binding style. cCs |j|ƒS(N(tbodypart_types(tselftmethod((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyt param_defs&scCsItj|||ƒ}|jtdtdƒ|jdtddƒ|S(Niis%s:encodingStyles)http://schemas.xmlsoap.org/soap/encoding/(Rtenvelopet addPrefixtencnstsetR(Rtheadertbodytenv((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyR )s c Cs d}|j|ƒ}x„|j|ƒD]s}|t|ƒkrJ||}n|j|dƒ}|j|||ƒ}|dk rŽ|j|ƒn|d7}q%W|S(Nii(R R tlentgettmkparamtNonetappend( RR targstkwargstntroottpdtvaluetp((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyt bodycontent0s  cCs |djS(Ni(tchildren(RR R((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyt replycontent>scCsN|jjjj}|ddkr5d|df}nt|jd|ƒ}|S(s Get the document root. For I{rpc/(literal|encoded)}, this is the name of the method qualifed by the schema tns. @param method: A service method. @type method: I{service.Method} @return: A root element. @rtype: L{Element} itns0itnsN(tsoaptinputRt namespaceRRtname(RR R"((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyR As (t__name__t __module__t__doc__R R RR R (((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyR!s     RcBs#eZdZd„Zed„ZRS(s1 RPC/Encoded (section 5) binding style. cCst|jƒƒS(N(t MxEncodedtschema(R((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyt marshallerVscCs*|rt|jƒƒStj||ƒSdS(s† Get the appropriate XML decoder. @return: Either the (basic|typed) unmarshaller. @rtype: L{UmxTyped} N(t UmxEncodedR+Rt unmarshaller(Rttyped((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyR.Ys(R'R(R)R,tTrueR.(((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyRQs N(sSOAP-ENCs)http://schemas.xmlsoap.org/soap/encoding/(R)tloggingRtsudstsuds.mx.encodedRR*tsuds.umx.encodedR-tsuds.bindings.bindingRRtsuds.sax.elementRR'tlogR R(((s5/usr/lib/python2.7/site-packages/suds/bindings/rpc.pyts  0