ó
OvWc           @  s  d  Z  d d l m Z d d l Z e j d k r: e Z n  d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z y d d l m Z m Z Wn' e k
 rÅ d d l m Z m Z n Xd d l m Z m Z m Z m Z d d l m Z m Z m Z m Z e j e ƒ Z e
 j d	 ƒ Z d
 e  f d „  ƒ  YZ! d e" f d „  ƒ  YZ# d e f d „  ƒ  YZ$ d e" f d „  ƒ  YZ% e d k re# d d d d d d d d d d d d d e& d e& d  e& ƒ 	Z' e( d! „ Z) d" „  Z* d# „  Z+ e' j, d$ e) d% i i e- d& 6e d' 6e j. d( 6d) 6d* i i e- d+ 6e- d, 6d- 6e d( 6i e d. 6g d/ 6ƒe' j, d0 e* d% i e d1 6d* i e d2 6ƒe' j, d3 e+ ƒ d4 e j/ k rÞe' j0 ƒ  Z0 x2 e' j1 ƒ  D]$ \ Z2 Z3 e' j4 e2 ƒ \ Z5 Z6 Z3 q³Wn  d5 e j/ k r%e j7 d6 ƒ e d7 d8 f e$ ƒ Z8 e' e8 _' e8 j9 ƒ  n  d9 e j/ k r|e j7 d: ƒ d d; l: m; Z; e% e' ƒ Z< e; d7 d8 e< ƒ Z= e= j9 ƒ  n  d< e j/ k rLd d= l> m? Z? e? d d d d d d> d? d@ d e& d  d ƒ Z> i d d+ 6dA d, 6Z@ i dB d. 6i dC d. 6g ZA e> jB dD e@ dE dF dG eA ƒ Z6 e6 jC ZD e j7 e- eD jE ƒ ƒ e j7 e eD jF ƒ ƒ n  dH e j/ k rd d= l> m? Z? e? dI d ƒ Z> i d d+ 6dA d, 6Z@ i dB d. 6i dC d. 6g ZA e j. jG ƒ  ZH e> jB dD e@ dE eH dG eA ƒ Z6 e6 d) ZD e j7 e- eD d& ƒ ƒ e j7 e eD d' ƒ ƒ n  n  d S(J   u*   Pythonic simple SOAP Server implementationiÿÿÿÿ(   t   unicode_literalsNu   3(   t   BaseHTTPRequestHandlert
   HTTPServeri   (   t
   __author__t   __copyright__t   __license__t   __version__(   t   SimpleXMLElementt   TYPE_MAPt   Datet   Decimalu   xmlns:(\w+)="(.+?)"t	   SoapFaultc           B  s   e  Z d d d d  „ Z RS(   c         C  s1   | p |  j  j |  _ | p d |  _ | |  _ d  S(   Nu    (   t	   __class__t   __name__t	   faultcodet   faultstringt   detail(   t   selfR   R   R   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   __init__+   s    N(   R   t
   __module__t   NoneR   (    (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR   *   s   t   SoapDispatcherc           B  sŒ   e  Z d  Z d d d d e d d i  e e d „
 Z e d „  ƒ Z d d d d „ Z d „  Z	 d d d „ Z
 d	 „  Z d d
 „ Z d „  Z RS(   u!   Simple Dispatcher for SOAP Serveru    u)   http://schemas.xmlsoap.org/soap/envelope/u   soapc         K  sp   i  |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ |	 |  _	 |
 |  _
 | |  _ d S(   u'  
        :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(   t   methodst   namet   documentationt   actiont   locationt	   namespacet   prefixt   soap_nst   soap_urit
   namespacest   prettyt   debug(   R   R   R   R   R   R   R   R   R   R   R    R!   t   kwargs(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR   4   s    -											c         C  sq   | rm d } d j  g  | j ƒ  D]( \ } } | |  k r | | | f ^ q ƒ } |  j d d | d ƒ }  n  |  S(   u‰   Extends xml with extra namespaces.
        :param ns: dict with namespaceUrl:prefix pairs
        :param xml: XML node to modify
        u   xmlns:%s="%s"u    u   />(   t   joint   itemst   replace(   t   xmlt   nst   _tplt   uriR   t   _ns_str(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   _extra_namespacesn   s
    Dc         C  s/   | | | | p t  | d d ƒ f |  j | <d  S(   Nu   __doc__u    (   t   getattrR   (   R   R   t   fnt   returnst   argst   doc(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   register_functionz   s    c         C  s   d | S(   Nu
   %sResponse(    (   R   t   method(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   response_element_name}   s    c   "   	     s¦  |  j  } d } | d k r$ i  } n  |  j |  j } } d } d }	 t d „  |  j j ƒ  Dƒ ƒ ‰  y
t | d |  j ƒ}
 x’ |
 D]‰ \ } } | d, k rÃ |
 j	 ƒ  | j
 } |
 j	 ƒ  | j } q‚ | |  j j ƒ  k r‚ |
 j	 ƒ  | j
 } |
 j	 ƒ  | j } | ˆ  | <q‚ q‚ Wt j | ƒ } x6 | D]. \ } } | |  j j ƒ  k r%| ˆ  | <q%q%Wd } |
 d d	 | ƒj ƒ  d
 ƒ } | r§| t |  j ƒ d d !}	 |  j  } n  | sµ|	 rÐ| j ƒ  }	 | j ƒ  } n  t j d |	 ƒ |  j |	 \ } } } } t j d | ƒ | r'| j ƒ  j | ƒ } n" | d k rCi | d 6} n i  } d } | |   } t j d | ƒ Wnù t k
 r¶} | j i d | | j f d 6| j d 6| j d 6ƒ n² t k
 rgd d l } | j ƒ  \ } } } t j  t! j" ƒ  ƒ |  j r/d j# t! j$ | | | ƒ ƒ } | d | 7} n d } | j i d | | j% f d 6| d 6| d 6ƒ n X| swd } n d } | i |  j d 6| d 6| d 6| d 6;} t& j' | ˆ  ƒ } t ‡  f d †  |  j j ƒ  Dƒ ƒ } t | d |  j d  | d! | ƒ} d" | d# <d$ | d% <| j( d& | d	 t) ƒ} | rN| j* d' | | d	 t) ƒnE| j( |  j+ |	 ƒ d	 |  j ƒ} | s…|  j | d( <n  | r[t, | t ƒ }  |  rút- g  | j. ƒ  D] } | | k ^ q°ƒ }! |! sút/ j0 d) t1 | ƒ t1 | ƒ f ƒ qún  |  s|! r+| j* t2 | j. ƒ  ƒ d
 | ƒ q“xe | j ƒ  D] \ } } | j* | | ƒ q8Wn8 | d k rw| j3 | ƒ n | i  k r“t j4 d* ƒ n  | j5 d+ |  j6 ƒ S(-   u.   Receive and process SOAP call, returns the xmlu   VersionMismatchc         s  s!   |  ] \ } } | | f Vq d  S(   N(    (   t   .0t   kt   v(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pys	   <genexpr>   s    R   u)   http://schemas.xmlsoap.org/soap/envelope/u"   http://www.w3.org/2003/05/soap-envu'   http://www.w3.org/2003/05/soap-envelopeu   Clientu   BodyR'   i    i   iÿÿÿÿu   dispatch method: %su   returns_types %su   requestu   Serveru   dispathed method returns: %su   %s.%su	   faultcodeu   faultstringu   detailNu    u   

XML REQUEST

u8   <%(soap_ns)s:Envelope xmlns:%(soap_ns)s="%(soap_uri)s"/>up   <%(soap_ns)s:Envelope xmlns:%(soap_ns)s="%(soap_uri)s"
                       xmlns:%(prefix)s="%(namespace)s"/>u	   namespaceu   prefixu   soap_nsu   soap_uric         3  s%   |  ] \ } } | ˆ  | f Vq d  S(   N(    (   R4   R5   R6   (   t   _ns_reversed(    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pys	   <genexpr>î   s    t   namespaces_mapR   u)   http://www.w3.org/2001/XMLSchema-instanceu	   xmlns:xsiu    http://www.w3.org/2001/XMLSchemau	   xmlns:xsdu   %s:Bodyu   %s:Faultu   xmlnsu3   Return value doesn't match type structure: %s vs %su%   Given returns_types is an empty dict.R    (   u)   http://schemas.xmlsoap.org/soap/envelope/u"   http://www.w3.org/2003/05/soap-envu'   http://www.w3.org/2003/05/soap-envelope(7   R   R   R   R   t   dictR   R$   R   R   t
   attributest	   localNamet   valuet   valuest   NS_RXt   findallt   childrent   lenR   t   get_local_namet
   get_prefixt   logR!   R   t
   unmarshallR   t   updateR   R   R   t	   Exceptiont   syst   exc_infot   errort	   tracebackt
   format_excR#   t   format_exceptionR   R   R+   t	   add_childt   Falset   marshallR3   t
   isinstancet   allt   keyst   warningst   warnt   strt   listt   import_nodet   warningt   as_xmlR    ("   R   R&   R   t   faultR   t   retR   R   t   soap_fault_codeR   t   requestR5   R6   t   _nst   _uriR'   R2   t   functiont   returns_typest
   args_typesR0   R/   t   eRH   t   etypet   evaluet   etbR   t   mappingt   responset   bodyt   rest   complex_typet   types_ok(    (   R7   sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   dispatch€   sÂ    		 		
		
%			

!+	 #c         C  s8   g  |  j  j ƒ  D]$ \ } \ } } } } | | f ^ q S(   u'   Return a list of aregistered operations(   R   R$   (   R   R2   Ra   R.   R/   R0   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   list_methods  s    c         C  sŒ  |  j  | \ } } } } d i | d 6|  j d 6} t | d |  j d |  j ƒ} | rg | j ƒ  } n | d k r d g } n g  } x6 | D]. \ }	 }
 | | ƒ j |	 |
 d t d t ƒqŒ Wd	 i | d 6|  j d 6} t | d |  j d |  j ƒ} | r| j ƒ  } n | d k r$d g } n g  } x: | D]2 \ }	 }
 | d
 | ƒ j |	 |
 d t d t ƒq1W| j	 d t ƒ | j	 d t ƒ | f S(   u-   Generate sample request and response messagesu“   
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><%(method)s xmlns="%(namespace)s"/></soap:Body>
</soap:Envelope>u   methodu	   namespaceR   R   u   valuet   add_commentsR'   u›   
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><%(method)sResponse xmlns="%(namespace)s"/></soap:Body>
</soap:Envelope>u
   %sResponseR    N(   u   valueN(   u   valueN(
   R   R   R   R   R$   R   RP   t   TrueRO   RZ   (   R   R2   Ra   R.   R/   R0   R&   R^   R$   R5   R6   Ri   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   help#  s(    &*c           sl  d i |  j  d 6|  j d 6|  j d 6} t | ƒ ‰ xé |  j j ƒ  D]Ø \ } \ } } } } t t ‡  ‡ f d † ‰  ˆ  d | | o | j ƒ  ƒ ˆ  d | | oª | j ƒ  ƒ xk d2 d3 f D]] \ } } ˆ j d ƒ }	 d | | f |	 d <|	 j d ƒ }
 i d d 6d | | f d 6|
 (q» WqD Wˆ j d ƒ } d |  j | d <x• |  j j ƒ  D]„ \ } \ } } } } | j d ƒ } | | d <| rš| j d | ƒ n  | j d ƒ } d | | d <| j d ƒ } d | | d <qPWˆ j d ƒ } d |  j | d <d |  j | d <| j d ƒ } d  | d! <d" | d# <xª |  j j ƒ  D]™ } | j d ƒ } | | d <| j d$ ƒ } |  j	 | | d% <d  | d! <| j d ƒ } | j d& ƒ } d' | d( <| j d ƒ } | j d& ƒ } d' | d( <q<Wˆ j d) ƒ } d* |  j | d <| j d d+ |  j ƒ| j d, ƒ } d |  j | d <d- |  j | d. <| j d/ ƒ } |  j
 | d0 <ˆ j d1 t ƒ S(4   u%   Generate Web Service Description v1.1uŠ  <?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>
u	   namespaceu   nameu   documentationc      	     s&  | s3 ˆ d ƒ d ƒ j  d ƒ } | j  d ƒ } n! ˆ d ƒ d ƒ j  d ƒ } | } |  | d <| rm | } n | d  k r… d g } n g  } | rª | rª | j  d ƒ } n | rÂ | j  d ƒ } n  x]| D]U\ } } | j  d ƒ }	 | |	 d <| ri d	 d
 6d d 6|	 (n  | t j ƒ  k r/d t | }
 nß | d  k rDd }
 nÊ t | t ƒ r³d |  | f } g  } x! | D] } | j | j ƒ  ƒ qpWˆ  | | d t d t ƒd | }
 n[ t | t	 ƒ rød |  | f } ˆ  | | j ƒ  d t ƒd | }
 n t
 d t | ƒ ƒ ‚ |	 j d |
 ƒ qÉ Wd  S(   Nu
   wsdl:typesu
   xsd:schemau   xsd:elementu   xsd:complexTypeu   nameu   valueu   xsd:allu   xsd:sequenceu   0u	   minOccursu	   unboundedu	   maxOccursu   xsd:%su   xsd:anyTypeu   ArrayOf%s%st   arrayt   complexu   tns:%su   %s%su   unknonw type v for marshallingu   type(   u   valueN(   RN   R   R   RS   RQ   RW   t   extendR$   Rq   R9   t	   TypeErrorRV   t   add_attribute(   R   R=   Rs   Rt   t   elementR$   RR   R5   R6   Rd   t   tt   nt   lt   d(   t   parse_elementt   wsdl(    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR}   ]  sJ    
	
	u   %su
   %sResponseu   Inputu    u   Outputu   Responseu   wsdl:messageu   %s%su	   wsdl:partu
   parametersu   tns:%s%su   elementu   wsdl:portTypeu
   %sPortTypeu   wsdl:operationu   wsdl:documentationu
   wsdl:inputu   tns:%sInputu   messageu   wsdl:outputu   tns:%sOutputu   wsdl:bindingu	   %sBindingu   tns:%sPortTypeu   typeu   soap:bindingu   documentu   styleu$   http://schemas.xmlsoap.org/soap/httpu	   transportu   soap:operationu
   soapActionu	   soap:bodyu   literalu   useu   wsdl:serviceu	   %sServicet   textu	   wsdl:portu   tns:%sBindingu   bindingu   soap:addressu   locationR    (   u   Inputu    (   u   Outputu   Response(   R   R   R   R   R   R$   RO   RN   RS   R   R   RZ   Rq   (   R   R&   R2   Ra   R.   R/   R0   t   mRd   t   messaget   partt   portTypet   opt   inputt   outputt   bindingt   soapbindingt   soapopt   soapbodyt   servicet   portt   soapaddress(    (   R}   R~   sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR~   D  sd    ((*
(





N(   R   R   t   __doc__R   RO   R   t   staticmethodR+   R1   R3   Rn   Ro   Rr   R~   (    (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR   1   s   	4	Ÿ	!t   SOAPHandlerc           B  s   e  Z d  „  Z d „  Z RS(   c         C  s  |  j  d j d ƒ } |  j  d k r_ | d |  j j j j ƒ  k r_ |  j d d | d ƒ n® |  j  d k rƒ |  j j j ƒ  } nS |  j j j | d ƒ \ } } } t	 | ƒ d k sÇ | d d k rÐ | } n | } |  j
 d ƒ |  j d	 d
 ƒ |  j ƒ  |  j j | ƒ d S(   u'   User viewable help information and wsdli   u   ?u   /i    i”  u   Method not found: %su   requestiÈ   u   Content-typeu   text/xmlN(   t   patht   splitt   servert
   dispatcherR   RS   t
   send_errorR~   Rr   RA   t   send_responset   send_headert   end_headerst   wfilet   write(   R   R/   Ri   t   reqRk   R0   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   do_GETÂ  s    .""	
c         C  sÛ   |  j  j t |  j j d ƒ ƒ ƒ } t j d k  rH |  j j d ƒ } n |  j j d ƒ } | j	 | ƒ } i  } |  j
 j j | d | ƒ} | r  |  j d ƒ n |  j d ƒ |  j d d ƒ |  j ƒ  |  j j | ƒ d	 S(
   u   SOAP POST gatewayu   content-lengthu   3u   charsetR[   iô  iÈ   u   Content-typeu   text/xmlN(   t   rfilet   readt   intt   headerst   getRH   t   versiont   getparamt	   get_paramt   decodeR“   R”   Rn   R–   R—   R˜   R™   Rš   (   R   R^   t   encodingR[   Ri   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   do_POST×  s    $
(   R   R   Rœ   R§   (    (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR   À  s   	t   WSGISOAPHandlerc           B  s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C  s   | |  _  d  S(   N(   R”   (   R   R”   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR   ï  s    c         C  s   |  j  | | ƒ S(   N(   t   handler(   R   t   environt   start_response(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   __call__ò  s    c         C  s[   | d d k r  |  j  | | ƒ S| d d k r@ |  j | | ƒ S| d d g ƒ d g Sd  S(	   Nu   REQUEST_METHODu   GETu   POSTu   405 Method not allowedu   Content-Typeu
   text/plainu   Method not allowed(   u   Content-Typeu
   text/plain(   t   do_gett   do_post(   R   Rª   R«   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR©   õ  s    c   	   	   C  sø   | j  d ƒ j d ƒ } | j  d ƒ } | d k rf | |  j j j ƒ  k rf | d d g ƒ d | g S| d k r„ |  j j ƒ  } nH |  j j | ƒ \ } } } t | ƒ d	 k s½ | d
 k rÆ | } n | } | d d d t t | ƒ ƒ f g ƒ | g S(   Nu	   PATH_INFOu   /u   QUERY_STRINGu    u   404 Not Foundu   Content-Typeu
   text/plainu   Method not found: %si    u   requestu   200 OKu   text/xmlu   Content-Length(   u   Content-Typeu
   text/plain(   u   Content-Typeu   text/xml(	   R¡   t   lstripR”   R   RS   R~   Rr   RA   RV   (	   R   Rª   R«   R‘   t   queryRi   R›   Rk   R0   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR­   þ  s    $	%c         C  sa   t  | d ƒ } | d j | ƒ } |  j j | ƒ } | d d d t t | ƒ ƒ f g ƒ | g S(   Nu   CONTENT_LENGTHu
   wsgi.inputu   200 OKu   Content-Typeu   text/xmlu   Content-Length(   u   Content-Typeu   text/xml(   RŸ   Rž   R”   Rn   RV   RA   (   R   Rª   R«   t   lengthR^   Ri   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR®     s
    %(   R   R   R   R¬   R©   R­   R®   (    (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyR¨   í  s
   					u   __main__R   u   PySimpleSoapSampleR   u   http://localhost:8008/R   R   u%   http://example.com/pysimplesoapsamle/R   u   ns0R   u'   Example soap service using PySimpleSoapt   traceR!   R'   c         C  sL   | t  j d ƒ } i |  d |  d d 6| d d | d d d 6| d	 6S(
   u   Add several valuesim  u   au   bu   abi    u   di   u   ddu   dt(   t   datetimet	   timedelta(   t   pt   ct   dt(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   adder$  s    c         C  s   |  S(   u   Just return input(    (   t   in0(    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   dummy)  s    c         C  s   |  j  S(   u*   Copy request->response (generic, any type)(   R<   (   R^   (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   echo-  s    u   AdderR.   u   abu   ddu   dtu	   AddResultR/   u   au   bu   pu   du   cu   Dummyu   out0u   in0u   Echou   --localu   --serveu   Starting server...u    iH  u   --wsgi-serveu   Starting wsgi server...(   t   make_serveru	   --consume(   t
   SoapClientu   http://example.com/sample.wsdlR   u   soapi   u   1.20u   2.01Rµ   R·   u
   2010-07-24R¶   u   --consume-wsdlR~   (I   RŽ   t
   __future__R    RH   R¢   RV   t   unicodeR³   t   loggingRT   t   reRK   t   BaseHTTPServerR   R   t   ImportErrort   http.servert    R   R   R   R   t	   simplexmlR   R   R	   R
   t	   getLoggerR   RD   t   compileR>   RG   R   t   objectR   R   R¨   Rq   R”   R   R¸   Rº   R»   R1   RŸ   t   datet   argvR~   Ro   R2   R0   Rr   R^   Ri   t   infot   httpdt   serve_forevert   wsgiref.simple_serverR¼   t   applicationt   wsgidt   clientR½   Rµ   R¶   t   Addert	   AddResultt   resultt   abt   ddt   todayR·   (    (    (    sR   /data/av2000/soap/soapenv/local/lib/python2.7/site-packages/pysimplesoap/server.pyt   <module>   sª   	""ÿ -,				%4					
