Пример #1
0
 def header(self, definitions, parent, root):
     """ add the input/output header properties """
     if root is None:
         return
     header = Facade('Header')
     parent.headers.append(header)
     header.use = root.get('use', default='literal')
     ns = root.get('namespace')
     if ns is None:
         header.namespace = definitions.tns
     else:
         prefix = root.findPrefix(ns, 'h0')
         header.namespace = (prefix, ns)
     msg = root.get('message')
     if msg is not None:
         header.message = msg
     part = root.get('part')
     if part is not None:
         header.part = part
Пример #2
0
 def add_operations(self, root, definitions):
     """ Add <operation/> children """
     dsop = Element('operation', ns=soapns)
     for c in root.getChildren('operation'):
         op = Facade('Operation')
         op.name = c.get('name')
         sop = c.getChild('operation', default=dsop)
         soap = Facade('soap')
         soap.action = '"%s"' % sop.get('soapAction', default='')
         soap.style = sop.get('style', default=self.soap.style)
         soap.input = Facade('Input')
         soap.input.body = Facade('Body')
         soap.input.headers = []
         soap.output = Facade('Output')
         soap.output.body = Facade('Body')
         soap.output.headers = []
         op.soap = soap
         input = c.getChild('input')
         if input is None:
             input = Element('input', ns=wsdlns)
         body = input.getChild('body')
         self.body(definitions, soap.input.body, body)
         for header in input.getChildren('header'):
             self.header(definitions, soap.input, header)
         output = c.getChild('output')
         if output is None:
             output = Element('output', ns=wsdlns)
         body = output.getChild('body')
         self.body(definitions, soap.output.body, body)
         for header in output.getChildren('header'):
             self.header(definitions, soap.output, header)
         faults = []
         for fault in c.getChildren('fault'):
             sf = fault.getChild('fault')
             if sf is None:
                 continue
             fn = fault.get('name')
             f = Facade('Fault')
             f.name = sf.get('name', default=fn)
             f.use = sf.get('use', default='literal')
             faults.append(f)
         soap.faults = faults
         self.operations[op.name] = op