PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/lib/python3/dist-packages/pysimplesoap/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/pysimplesoap/__pycache__/server.cpython-311.pyc
�

��cFb����dZddlmZddlZejdkreZddlZddlZddlZddl	Z	ddl
Z
ddlZ	ddlm
Z
mZn#e$rddlm
Z
mZYnwxYwddlmZmZmZmZddlmZmZmZmZeje��Ze
jd	��ZGd
�de ��Z!Gd�d
e"��Z#Gd�de
��Z$Gd�de"��Z%edk�r�e#ddddddddd��	�	Z&d>d�Z'd�Z(d�Z)e&�*de'de+eej,d�ie+e+d �ed!eigd"��#��e&�*d$e(d%eid&ei�#��e&�*d'e)��d(ej-vrGe&�.��Z.e&�/��D]\Z0Z1e&�2e0��\Z3Z4Z1�d)ej-vr<e�5d*��ed+e$��Z6e&e6_&e6�7��d,ej-vrGe�5d-��dd.l8m9Z9e%e&��Z:e9d/d0e:��Z;e;�7��d1ej-vr�dd2l<m=Z=e=ddd3d4dd�5��Z<dd6d �Z>d!d7id!d8igZ?e<�@e>d9e?�"��Z4e4jAZBe�5e+eBjC����e�5eeBjD����d:ej-vr�dd2l<m=Z=e=d�;��Z<dd6d �Z>d!d7id!d8igZ?ej,�E��ZFe<�@e>eFe?�"��Z4e4dZBe�5e+eBd<����e�5eeBd=����dSdSdS)?z*Pythonic simple SOAP Server implementation�)�unicode_literalsN�3)�BaseHTTPRequestHandler�
HTTPServer�)�
__author__�
__copyright__�__license__�__version__)�SimpleXMLElement�TYPE_MAP�Date�Decimalzxmlns:(\w+)="(.+?)"c��eZdZdd�ZdS)�	SoapFaultNc�L�|p|jj|_|pd|_||_dS)N�)�	__class__�__name__�	faultcode�faultstring�detail)�selfrrrs    �5/usr/lib/python3/dist-packages/pysimplesoap/server.py�__init__zSoapFault.__init__+s+��"�=�d�n�&=���&�,�"���������NNN)r�
__module__�__qualname__r�rrrr*s(�����������rrc
�n�eZdZdZdddddddiddf
d�Zed���Zdd	�Zd
�Zdd�Z	d�Z
dd
�Zd�ZdS)�SoapDispatcherz!Simple Dispatcher for SOAP ServerrNF�)http://schemas.xmlsoap.org/soap/envelope/�soapc��i|_||_||_||_||_||_||_||_||_|	|_	|
|_
||_dS)a'
        :param namespace: Target namespace; xmlns=targetNamespace
        :param prefix: Prefix for target namespace; xmlns:prefix=targetNamespace
        :param namespaces: Specify additional namespaces; example: {'external': 'http://external.mt.moboperator'}
        :param pretty: Prettifies generated xmls
        :param debug: Use to add tracebacks in generated xmls.

        Multiple namespaces
        ===================

        It is possible to support multiple namespaces.
        You need to specify additional namespaces by passing `namespace` parameter.

        >>> dispatcher = SoapDispatcher(
        ...    name = "MTClientWS",
        ...    location = "http://localhost:8008/ws/MTClientWS",
        ...    action = 'http://localhost:8008/ws/MTClientWS', # SOAPAction
        ...    namespace = "http://external.mt.moboperator", prefix="external",
        ...    documentation = 'moboperator MTClientWS',
        ...    namespaces = {
        ...        'external': 'http://external.mt.moboperator',
        ...        'model': 'http://model.common.mt.moboperator'
        ...    },
        ...    ns = True)

        Now the registered method must return node names with namespaces' prefixes.

        >>> def _multi_ns_func(self, serviceMsisdn):
        ...    ret = {
        ...        'external:activateSubscriptionsReturn': [
        ...            {'model:code': '0'},
        ...            {'model:description': 'desc'},
        ...        ]}
        ...    return ret

        Our prefixes will be changed to those used by the client.
        N)�methods�name�
documentation�action�location�	namespace�prefix�soap_ns�soap_uri�
namespaces�pretty�debug)
rr'r(r)r*r+r,r.r-r/r0r1�kwargss
             rrzSoapDispatcher.__init__4s^��Z�����	�*������ ��
�"��������� ��
�$��������
�
�
rc����|rRd�d���fd�|���D����}��dd|zdz����S)z�Extends xml with extra namespaces.
        :param ns: dict with namespaceUrl:prefix pairs
        :param xml: XML node to modify
        z
xmlns:%s="%s"� c�,��g|]\}}|�v�	�||fz��Sr r )�.0�urir,�_tpl�xmls   ��r�
<listcomp>z4SoapDispatcher._extra_namespaces.<locals>.<listcomp>vs2���e�e�e���f�VY�ad�Vd�Vd����}� 4�Vd�Vd�Vdrz/>)�join�items�replace)r9�ns�_ns_strr8s`  @r�_extra_namespacesz SoapDispatcher._extra_namespacesnse�����	:�"�D��h�h�e�e�e�e�e����
�
�e�e�e�f�f�G��+�+�d�C�'�M�D�$8�9�9�C��
rc�D�||||pt|dd��f|j|<dS)N�__doc__r)�getattrr&)rr'�fn�returns�args�docs      r�register_functionz SoapDispatcher.register_functionzs.����$��0Q�w�r�9�b�7Q�7Q�Q���T���rc��d|zS)N�
%sResponser )r�methods  r�response_element_namez$SoapDispatcher.response_element_name}s
���f�$�$rc�n�!�"�|j}d}|�i}|j|j}}d}d}	td�|j���D�����!	t
||j���}
|
dd�D]�\}}|dvr?|
���|j	}|
���|j
}�H||j���vrC|
���|j	}
|
���|j
}|
�!|<��t�
|��}|D]%\}}||j���vr|�!|<�&d}|
d|������d	��}|r&|t|j��d
zd�}	|j}|r|	s(|���}	|���}t&�d|	��|j|	\}�"}}t&�d
�"��|r(|����|��}n	|�d|i}ni}d}|d(i|��}t&�d|���n#t.$r7}|�|�d|j��|j|jd���Yd}~n�d}~wt8$r�d	dl}|j��\}}}t&�tAj!����|jrEd�"tAj#|||����}|d|�$d��zz
}nd}|�|�d|j%��||d���YnwxYw|sd}nd}||j|||d�z}tL�'|�!��}t�!fd�|j���D����}t
||j||���}d|d<d|d<|�(d|zd ���}|r|�)d!|z|d ����n`|�(|�*|	��|j���}|s
|j|d"<�"r�tW|t��}|rctY�"fd#�|�-��D����} | s4t]j/d$ta�"���d%ta|������|r| s<|�)tc�"�-����d	|��ni|���D]\}}|�)||���n8�"�|�2|��n �"ikrt&�3d&��|�4|j5�'��S))z.Receive and process SOAP call, returns the xmlN�VersionMismatchc3�$K�|]\}}||fV��dS�Nr )r6�k�vs   r�	<genexpr>z*SoapDispatcher.dispatch.<locals>.<genexpr>�s*����H�H���1�a��V�H�H�H�H�H�Hr)r+)r#z"http://www.w3.org/2003/05/soap-envz'http://www.w3.org/2003/05/soap-envelope�Client�Body)r>rr���zdispatch method: %szreturns_types %s�request�Serverzdispathed method returns: %s�.)rrrrz

XML REQUEST

zUTF-8z8<%(soap_ns)s:Envelope xmlns:%(soap_ns)s="%(soap_uri)s"/>zp<%(soap_ns)s:Envelope xmlns:%(soap_ns)s="%(soap_uri)s"
                       xmlns:%(prefix)s="%(namespace)s"/>)r+r,r-r.c3�2�K�|]\}}|�|fV��dSrPr )r6rQrR�_ns_reverseds   �rrSz*SoapDispatcher.dispatch.<locals>.<genexpr>�s0�����Q�Q���A��L��O�,�Q�Q�Q�Q�Q�Qr)r+�namespaces_mapr,z)http://www.w3.org/2001/XMLSchema-instancez	xmlns:xsiz http://www.w3.org/2001/XMLSchemaz	xmlns:xsdz%s:BodyFz%s:Fault�xmlnsc���g|]}|�v��Sr r )r6rQ�
returns_typess  �rr:z+SoapDispatcher.dispatch.<locals>.<listcomp>
s���#K�#K�#K�1�A��$6�#K�#K�#Krz+Return value doesn't match type structure: z vs z%Given returns_types is an empty dict.�r0r )6r,r-r.�dictr/r<rr+�
attributes�	localName�value�values�NS_RX�findall�children�lenr)�get_local_name�
get_prefix�logr1r&�
unmarshallr�updaterrr�	Exception�sys�exc_info�error�	traceback�
format_excr;�format_exception�decoderr"r@�	add_child�marshallrL�
isinstance�all�keys�warnings�warn�str�list�import_node�warning�as_xmlr0)#rr9r)�faultr,�retr-r.�soap_fault_coder'rWrQrR�_ns�_urir>rK�function�
args_typesrGrF�erp�etype�evalue�etbr�mapping�response�body�res�complex_type�types_okr[r_s#                                 @@r�dispatchzSoapDispatcher.dispatch�s�����������=��E� �L�$�-���+�����H�H���0E�0E�0G�0G�H�H�H�I�I��H	(�&�s�d�n�E�E�E�G� ����
�
-�
-���1��E�E�E�&�0�0�2�2�1�5�?�G�&�1�1�3�3�A�6�<�H�H��$�/�0�0�2�2�2�2�!�,�,�.�.�q�1�;�C�"�-�-�/�/��2�8�D�),�L��&�����s�#�#�B��
(�
(���1����.�.�0�0�0�0�&'�L��O��&�O�=�W�W�V��1�1�1�:�:�<�<�Q�?�?�F��
%��c�$�+�.�.�q�0��3�4������
-��
-��,�,�.�.���*�*�,�,���I�I�+�T�2�2�2�7;�|�D�7I�4�H�m�Z���I�I�(�-�8�8�8��
����(�(�3�3�J�?�?����#�!�6�*�����&�O��(�"�"�T�"�"�C��I�I�4�c�:�:�:�:���	�	�	��L�L�(7������E� �}��(���
�
�
�
�
�
�
�
������	(�	(�	(��J�J�J�!-������E�6�3��I�I�i�*�,�,�-�-�-��z�
����)�"<�U�F�C�"P�"P�Q�Q���0�3�:�:�g�3F�3F�F�F������L�L�/�/�/�5�>�>�'R�$*�%�'�'�
(�
(�
(�
(�
(�	(�����	=�P�C�C�=�C�	����� �	
�
�	
���.�.�s�L�A�A��
�Q�Q�Q�Q���9N�9N�9P�9P�Q�Q�Q�R�R��$�C�.2�n�3:�+1�3�3�3��
!L���� B�����!�!�)�g�"5�%�!�@�@���	E��M�M�*�w�.��%�M�@�@�@�@��.�.��!;�!;�D�!A�!A�d�n�.�U�U�C��
.�#�~��G���
E�)�#�t�4�4���R�"�#K�#K�#K�#K����
�
�#K�#K�#K�L�L�H�#�R� �
�
�36�}�3E�3E�3E�3E�s�3�x�x�x�'Q�R�R�R�#�+�8�+��L�L��m�&8�&8�&:�&:�!;�!;�A�!>��F�F�F�F�!$�	�	���+�+���1����Q��*�*�*�*�+��&�����$�$�$�$��"�$�$����C�D�D�D����d�k��2�2�2s �H'I<�<
M;�-J8�8CM;�:M;c�H�d�|j���D��S)z'Return a list of aregistered operationsc�&�g|]\}\}}}}||f��Sr r )r6rKr�rErFrGs      rr:z/SoapDispatcher.list_methods.<locals>.<listcomp>!s*��a�a�a�"H�&�*H�8�W�d�C���
�a�a�ar)r&r<)rs r�list_methodszSoapDispatcher.list_methodss$��a�a�D�L�L^�L^�L`�L`�a�a�a�arc�N�|j|\}}}}d||jd�z}t||j|j���}|r|���}n|�dg}ng}|D]'\}	}
||���|	|
dd����(d	||jd�z}t||j|j���}|r|���}n|�dg}ng}|D]*\}	}
|d
|z���|	|
dd����+|�d���|�d���|fS)z-Generate sample request and response messagesz�
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><%(method)s xmlns="%(namespace)s"/></soap:Body>
</soap:Envelope>)rKr+)r+r,N�rdNTF)�add_commentsr>z�
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><%(method)sResponse xmlns="%(namespace)s"/></soap:Body>
</soap:Envelope>rJr`)r&r+rr,r<rxr�)rrKr�rErFrGr9rWr<rQrRr�s            r�helpzSoapDispatcher.help#s���)-��f�)=�&��7�D�#��"(�d�n�E�E�F��#�3�$�.���U�U�U���	��J�J�L�L�E�E�
�\�$�%�E�E��E��	H�	H�D�A�q��G�F�O�O�$�$�Q����$�G�G�G�G��"(�d�n�E�E�F��$�C�4�>�$�+�V�V�V���	��M�M�O�O�E�E�
�\�$�%�E�E��E��	X�	X�D�A�q��H�\�F�*�+�+�4�4�Q���QV�4�W�W�W�W��~�~�T�~�*�*�H�O�O�4�O�,H�,H�#�M�Mrc����d|j|j|jd�z}t|���|j���D]�\}\}}}}d0��fd�	��d|z|o|������d|z|o|�����dD]G\}}��d��}	|�|��|	d	<|	�d
��}
dd|�|��d
�|
dd�<�H����d��}d|jz|d	<|j���D]v\}\}}}}|�d��}||d	<|r|�d|��|�d��}
d|z|
d<|�d��}d|z|d<�w��d��}d|jz|d	<d|jz|d<|�d��}d|d<d|d <|j���D]�}|�d��}||d	<|�d!��}|j|z|d"<d|d<|�d��}
|
�d#��}d$|d%<|�d��}|�d#��}d$|d%<����d&��}d'|jz|d	<|�d|j�(��|�d)��}d|jz|d	<d*|jz|d+<|�d,��}|j	|d-<��
d.�/��S)1z%Generate Web Service Description v1.1a�<?xml version="1.0"?>
<wsdl:definitions name="%(name)s"
          targetNamespace="%(namespace)s"
          xmlns:tns="%(namespace)s"
          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">%(documentation)s</wsdl:documentation>

    <wsdl:types>
       <xsd:schema targetNamespace="%(namespace)s"
              elementFormDefault="qualified"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       </xsd:schema>
    </wsdl:types>

</wsdl:definitions>
)r+r'r(Fc���|s=�d��d���d��}|�d��}n)�d��d���d��}|}||d<|r|}n|�dg}ng}|s|r|�d��}n|r|�d��}|D�],\}}|�d��}	||	d<|r
d	d
d�|	dd�<|�d}
n�t|t��rJd
|�|��}g}|D])}
|�|
������*�||dd���d|z}
n�t|t
��r,|�|��}�||���d���d|z}
nE|t
j��vrdt|z}
ntdt|��z���|	�
d|
����.dS)Nz
wsdl:typesz
xsd:schemazxsd:elementzxsd:complexTyper'r�zxsd:allzxsd:sequence�0�	unbounded)�	minOccurs�	maxOccurszxsd:anyType�ArrayOfT)�array�complexztns:%s)r�zxsd:%szunknonw type %s for marshalling�type)rwryr�extendr<rar
r{�	TypeErrorr~�
add_attribute)r'rer�r��elementr<rzrQrRr��t�n�l�d�
parse_element�wsdls              ��rr�z*SoapDispatcher.wsdl.<locals>.parse_element]s]����&�0�d�d�<�0�0��>�>�H�H��W�W�G�%�/�/�0A�B�B�G�G�0�d�d�<�0�0��>�>�H�H�IZ�[�[�G�%�G�"&������"�E�E��^�,�-�E�E��E��<��<�!�+�+�I�6�6�C�C��<�!�+�+�N�;�;�C�!�/�/�D�A�q��
�
�m�4�4�A� !�A�f�I��L�-0�{�K�K��!�!�!��
�y�)���#�A�t�,�,�T�T�-1�T�1�1�5����!"�0�0�A��H�H�Q�W�W�Y�Y�/�/�/�/�%�
�a��$��E�E�E�E�$�q�L���#�A�t�,�,�T�&*�d�A�A�.��%�
�a������D�A�A�A�A�$�q�L����h�m�o�o�-�-�$�x��{�2���'�(I�C�PQ�F�F�(R�S�S�S��O�O�F�A�.�.�.�.�5/�/rz%srJ))�Inputr)�Output�Responsezwsdl:messager'z	wsdl:part�
parametersztns:)r'r�Nz
wsdl:portTypez
%sPortTypezwsdl:operationzwsdl:documentationz
wsdl:inputztns:%sInput�messagezwsdl:outputztns:%sOutputzwsdl:bindingz	%sBindingztns:%sPortTyper�zsoap:binding�document�stylez$http://schemas.xmlsoap.org/soap/http�	transportzsoap:operation�
soapActionz	soap:body�literal�usezwsdl:servicez	%sService)�textz	wsdl:portz
tns:%sBinding�bindingzsoap:addressr*Tr`)FF)r+r'r(rr&r<rwr{r)r*r�)rr9rKr�rErFrG�mr�r��part�portType�op�input�outputr��soapbinding�soapop�soapbody�service�port�soapaddressr�r�s                      @@rr�zSoapDispatcher.wsdlDs������"�N�D�I��HZ�[�[�#\��$ ��$�$��6:�l�6H�6H�6J�6J�:	@�:	@�2�F�2�X�w��c�,
/�,
/�,
/�,
/�,
/�,
/�,
/�\
�M�$��-��)>�$�*�*�,�,�?�?�?��M�,��/��1L�W�]�]�_�_�M�M�M�>�
@�
@���1��.�.��8�8��,2�F�A�A�"6�����(�(��5�5��#/�<�4:�F�A�A�&>�@�@��Q�Q�Q���	
@��>�>�/�2�2��'�$�)�3����6:�l�6H�6H�6J�6J�	8�	8�2�F�2�X�w��c��#�#�$4�5�5�B��B�v�J��
8����1�3�7�7�7��L�L��.�.�E�,�v�5�E�)���\�\�-�0�0�F� .�� 7�F�9����.�.��0�0��%��	�1����*�T�Y�6�����'�'��7�7��)��G��#I��K� ��l�'�'�)�)�
	(�
	(�F��"�"�#3�4�4�B��B�v�J��\�\�"2�3�3�F�#'�;��#7�F�<� �(�F�7�O��L�L��.�.�E����{�3�3�H�'�H�U�O��\�\�-�0�0�F��'�'��4�4�H�'�H�U�O�O��.�.��0�0��%��	�1�������.�T�5G��H�H�H�� � ��-�-���d�i�'��V��)�D�I�5��Y���n�n�^�4�4��"&�-��J���{�{�$�{�'�'�'rr)NNrP)
rrrrBr�staticmethodr@rHrLr�r�r�r�r rrr"r"1s�������+�+�+-�b�2���E�����
8�8�8�8�t�	�	��\�	�R�R�R�R�%�%�%�[3�[3�[3�[3�~b�b�b�N�N�N�N�B}(�}(�}(�}(�}(rr"c��eZdZd�Zd�ZdS)�SOAPHandlerc��|jdd��d��}|jdkrL|d|jjj���vr!|�dd|dz��dS|jdkr|jj���}nM|jj�|d��\}}}t|��dks|ddkr|}n|}|�
d	��|�d
d��|���|j
�|��dS)z'User viewable help information and wsdlrN�?�/ri��Method not found: %srW���Content-type�text/xml)�path�split�server�
dispatcherr&r{�
send_errorr�r�ri�
send_response�send_header�end_headers�wfile�write)rrFr��reqr�rGs      r�do_GETzSOAPHandler.do_GET�s<���y����}�"�"�3�'�'���9�����Q��t�{�/E�/M�/R�/R�/T�/T� T� T��O�O�C�!7�$�q�'�!A�B�B�B�B�B��y�C����;�1�6�6�8�8���!%�� 6� ;� ;�D��G� D� D�
��S�#��t�9�9��>�>�T�!�W�	�%9�%9�"�H�H�"�H����s�#�#�#����^�Z�8�8�8��������J���X�&�&�&�&�&rc�`�|j�t|j�d������}t
jdkr|j�d��}n|j�d��}|�	|��}i}|j
j�||���}|r|�
d��n|�
d��|�dd��|���|j�|��d	S)
zSOAP POST gatewayzcontent-lengthr�charset)r�i�r�r�r�N)�rfile�read�int�headers�getrp�version�getparam�	get_paramrvr�r�r�r�r�r�r�r�)rrW�encodingr�r�s     r�do_POSTzSOAPHandler.do_POST�s���*�/�/�#�d�l�&6�&6�7G�&H�&H�"I�"I�J�J���;�����|�,�,�Y�7�7�H�H��|�-�-�i�8�8�H��.�.��*�*�����;�)�2�2�7�%�2�H�H���	$����s�#�#�#�#����s�#�#�#������4�4�4��������
����"�"�"�"�"rN)rrrr�r�r rrr�r��s2������'�'�'�*#�#�#�#�#rr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�WSGISOAPHandlerc��||_dSrP)r�)rr�s  rrzWSGISOAPHandler.__init__�s
��$����rc�.�|�||��SrP)�handler�r�environ�start_responses   r�__call__zWSGISOAPHandler.__call__�s���|�|�G�^�4�4�4rc��|ddkr|�||��S|ddkr|�||��S|ddg��dgS)N�REQUEST_METHOD�GET�POSTz405 Method not allowed��Content-Typez
text/plainzMethod not allowed)�do_get�do_postr�s   rr�zWSGISOAPHandler.handler�sl���#�$��-�-��;�;�w��7�7�7�
�%�
&�&�
0�
0��<�<���8�8�8��N�3�6T�5U�V�V�V�(�)�)rc
��|�d���d��}|�d��}|dkr3||jj���vr|ddg��d|zgS|dkr|j���}n<|j�|��\}}}t|��dks|d	kr|}n|}|d
ddtt|����fg��|gS)
N�	PATH_INFOr��QUERY_STRINGrz
404 Not Foundr�r�rrW�200 OK�r�r��Content-Length)	r��lstripr�r&r{r�r�rir~)	rr�r�r��queryr�r�r�rGs	         rr�zWSGISOAPHandler.do_gets���{�{�;�'�'�.�.�s�3�3�����N�+�+���2�:�:�$�d�o�&=�&B�&B�&D�&D�D�D��N�?�-K�,L�M�M�M�*�T�1�2�2�
�R�Z�Z���+�+�-�-�H�H�!�O�0�0��6�6�M�C��c��5�z�z�Q���%�9�"4�"4��������x�">�AQ�SV�WZ�[c�Wd�Wd�Se�Se�@f�!g�h�h�h��z�rc
���t|d��}|d�|��}|j�|��}|dddt	t|����fg��|gS)N�CONTENT_LENGTHz
wsgi.inputr�rr)r�r�r�r�r~ri)rr�r��lengthrWr�s      rr�zWSGISOAPHandler.do_posts{���W�-�.�/�/���,�'�,�,�V�4�4���?�+�+�G�4�4����x�">�AQ�SV�WZ�[c�Wd�Wd�Se�Se�@f�!g�h�h�h��z�rN)rrrrr�r�r�r�r rrr�r��s_������%�%�%�5�5�5�*�*�*����&����rr��__main__�PySimpleSoapSamplezhttp://localhost:8008/z%http://example.com/pysimplesoapsamle/�ns0z'Example soap service using PySimpleSoapT)	r'r*r)r+r,r(�tracer1r>c��|tjd��z}|d|dz|dd|ddz|d�S)zAdd several valuesim�a�brr�r��ab�dd�dt)�datetime�	timedelta)�p�crs   r�adderr(sH��
�(�$�S�)�)�
)����f�q��v�o�Q�q�T�#�Y��1��c��-B�"�M�M�Mrc��|S)zJust return inputr )�in0s r�dummyr-s���
rc��|jS)z*Copy request->response (generic, any type))rd)rWs r�echor1s
���}�r�Adder�	AddResultr)rr
r�)rrr)rErF�Dummy�out0r�Echoz--localz--servezStarting server...)r�Hz--wsgi-servezStarting wsgi server...)�make_serverrr!z	--consume)�
SoapClientzhttp://example.com/sample.wsdlr$)r*r)r+r-r
r>�z1.20z2.01z
2010-07-24z--consume-wsdl)r�rrrP)GrB�
__future__rrpr�r~�unicoder�loggingr|�rers�BaseHTTPServerrr�ImportError�http.serverrrr	r
r�	simplexmlrr
rr�	getLoggerrrl�compilerfror�objectr"r�r�r�rrrrHr��date�argvr�r�rKrGr�rWr��info�httpd�
serve_forever�wsgiref.simple_serverr"�application�wsgid�clientr#rrrr�resultrr�todayrr rr�<module>r;s���1�0�(�'�'�'�'�'�
�
�
�
��;�����G�����
�
�
�
���������	�	�	�	�����?�A�A�A�A�A�A�A�A�A���?�?�?�>�>�>�>�>�>�>�>�>�>�?����B�A�A�A�A�A�A�A�A�A�A�A�@�@�@�@�@�@�@�@�@�@�@�@��g���!�!��	��
�)�*�*�������	����P(�P(�P(�P(�P(�V�P(�P(�P(�f*#�*#�*#�*#�*#�(�*#�*#�*#�Z)�)�)�)�)�f�)�)�)�X�z�����
!�)�'�9�%�?��$�����J�N�N�N�N�
������� � ����S��x�}�M�M�N��3�'�'�t�C��>�:J�
K�
K�!����� � �����
��S�\�!����� � ���.�.�.��C�H������ � ��%�2�2�4�4�	=�	=�K�F�C�%/�_�_�V�%<�%<�"�G�X�s�s��C�H������%�&�&�&��
�:�{�3�3��%���
���������!�!����*�+�+�+�5�5�5�5�5�5�%�o�j�1�1����B��k�2�2��
�������c�h���&�&�&�&�&�&���-�+�6����

�
�
���!�����6�]�S�&�M�*���<�<�!���<�:�:���#�������V�Y��� � � ������V�Y��� � � ��3�8�#�#�&�&�&�&�&�&���)�
�
�
���!�����6�]�S�&�M�*��
�]�
 �
 �
"�
"���<�<�!��a�<�0�0���+�&�������V�D�\�"�"�#�#�#������V�D�\�"�"�#�#�#�#�#�m��V$�#s�<�
A�A